SemFix: Program repair via semantic analysis

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 meth...

Full description

Saved in:
Bibliographic Details
Published in2013 35th International Conference on Software Engineering (ICSE) pp. 772 - 781
Main Authors Hoang Duong Thien Nguyen, Dawei Qi, Roychoudhury, Abhik, Chandra, Satish
Format Conference Proceeding
LanguageEnglish
Published IEEE 01.05.2013
Subjects
Online AccessGet full text

Cover

Loading…
More Information
Summary: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.
ISBN:9781467330732
1467330736
ISSN:0270-5257
DOI:10.1109/ICSE.2013.6606623