Repairing Intricate Faults in Code Using Machine Learning and Path Exploration

2016 IEEE International Conference on Software Maintenance and Evolution (ICSME)(2016)

引用 3|浏览25
暂无评分
摘要
Debugging remains costly and tedious, especially for code that performs intricate operations that are conceptually complex to reason about. We present MLR, a novel approach for repairing faults in such operations, specifically in the context of complex data structures. Our focus is on faults in conditional statements. Our insight is that an integrated approach based on machine learning and systematic path exploration can provide effective repairs. MLR mines the data-spectra of the passing and failing executions of conditional branches to prune the search space for repair and generate patches that are likely valid beyond the existing test-suite. We apply MLR to repair faults in small but complex data structure subjects to demonstrate its efficacy. Experimental results show that MLR has the potential to repair this fault class more effectively than state-of-the-art repair tools.
更多
查看译文
关键词
program repair,semi-supervised learning,decisiontree learning,JPF,data-structures,condition faults
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要