SEFeb 9, 2018

Astor: Exploring the Design Space of Generate-and-Validate Program Repair beyond GenProg

arXiv:1802.03365v342 citations
AI Analysis

This provides a tool for software engineering researchers to facilitate the development and comparison of automated program repair methods, though it is incremental as it builds on existing generate-and-validate paradigms.

The paper tackles the challenge of designing and evaluating program repair approaches by introducing Astor, a framework that encapsulates the generate-and-validate design space, enabling researchers to build new approaches and reuse components, with implementations capable of repairing 98 real bugs from 5 Java programs.

During last years, researches have proposed novel repair approaches that automatically generate patches for repairing software bugs. Repair approaches can be loosely characterized along the main design philosophy such generate- and-validate or synthesis-based. Each of those repair approaches is a point in the design space of program repair. Our goal is to facilitate the design, development and evaluation of repair approaches by providing a framework that: a) contains components commonly present in approaches implementations thus new approaches can be built over them, b) provides built-in implementations of existing repair approach. This paper presents a framework named Astor that encores the design space of generate-and-validate repair approaches. Astor provides extension points that form the explicit decision space of program repair. Over those extension points, researchers can reuse existing components or implements new ones. Astor includes 6 Java implementation of repair approaches, including one of the pioneer: GenProg. Researcher have been already defining new approaches over Astor, proposing improvements of those built-in approaches by using the extension points, and executing approaches implementations from Astor in their evaluations. The implementations of the repair approaches built over Astor are capable of repair, in total, 98 real bugs from 5 large Java programs.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes