SemFix: Program repair via semantic analysis

ICSE(2013)

引用 806|浏览465
暂无评分
摘要
Debugging consumes significant time and effort in any major software development project. Moreover, even after the root cause of a bug is identified, fixing the bug is non-trivial. Given this situation, automated program repair methods are of value. In this paper, we present an automated repair method based on symbolic execution, constraint solving and program synthesis. In our approach, the requirement on the repaired code to pass a given set of tests is formulated as a constraint. Such a constraint is then solved by iterating over a layered space of repair expressions, layered by the complexity of the repair code. We compare our method with recently proposed genetic programming based repair on SIR programs with seeded bugs, as well as fragments of GNU Coreutils with real bugs. On these subjects, our approach reports a higher success-rate than genetic programming based repair, and produces a repair faster.
更多
查看译文
关键词
real bug,program testing,repair expressions,symbolic execution,seeded bugs,sir programs,constraint solving,genetic programming,gnu coreutils,program synthesis,semantic analysis,semfix,automated program repair methods,layered space,program debugging,debugging consumes,software development project,automated program repair method,genetic programming based repair,debugging,sir program,genetic algorithms,automated repair method,repair code,repair expression,software engineering,repair code complexity,computer bugs,semantics,maintenance engineering
AI 理解论文
溯源树
样例
生成溯源树,研究论文发展脉络
Chat Paper
正在生成论文摘要