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 in:Proceedings 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
Language:English
Published: Piscataway, NJ, USA IEEE Press 18.05.2013
Series:ACM Conferences
Subjects:
ISBN:1467330760, 9781467330763
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
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