PofoliaShared via Pofolia

International Conference on Software Engineering· 2013

SemFix: program repair via semantic analysis

Hoang Duong Thien Nguyen, Dawei Qi, Abhik Roychoudhury, Satish Chandra

Short summary

SemFix automatically repairs software bugs by formulating test-passing requirements as constraints, then solving them by searching a layered space of repair expressions.

AI-generated from the title and abstract; the full text is not read.

Key points

  • SemFix uses symbolic execution, constraint solving, and program synthesis for automated bug repair.
  • Passing tests is formulated as a constraint to guide the repair process.
  • Repairs are generated by searching a layered space of expressions, ordered by complexity.
  • SemFix achieves higher success rates and faster repair times compared to genetic programming methods on benchmark programs.

AI-generated from the title and abstract; the full text is not read.

Abstract

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.

The authors' abstract, as published at the source. International Conference on Software Engineering, 2013 · DOI ↗

TakeawaysPremium
Ask the paperFree account

Continue with a free account

Ask the paper: 3 free questions a day about this paper; save it, get its citation, new summaries every day for your field. Takeaways are Premium.

Continue free on the web

Sign in with Google or Apple; no card needed. You come back to this paper.

On your phone:

Field: Software

SoftwareComputer Science