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 inProceedings of the 2013 International Conference on Software Engineering pp. 772 - 781
Main Authors Nguyen, Hoang Duong Thien, Qi, Dawei, Roychoudhury, Abhik, Chandra, Satish
Format Conference Proceeding
LanguageEnglish
Published Piscataway, NJ, USA IEEE Press 18.05.2013
SeriesACM Conferences
Subjects
Online AccessGet full text
ISBN1467330760
9781467330763
DOI10.5555/2486788.2486890

Cover

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:1467330760
9781467330763
DOI:10.5555/2486788.2486890