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

02/09/2018
by   Matias Martinez, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
05/28/2019

Empirical Review of Java Program Repair Tools: A Large-Scale Experiment on 2,141 Bugs and 23,551 Repair Attempts

In the past decade, research on test-suite-based automatic program repai...
research
12/21/2021

Elixir: Effective object-oriented program repair

This work is motivated by the pervasive use of method invocations in obj...
research
11/22/2022

Energy Consumption of Automated Program Repair

Automated program repair (APR) aims to automatize the process of repairi...
research
12/21/2017

ARJA: Automated Repair of Java Programs via Multi-Objective Genetic Programming

Recent empirical studies show that the performance of GenProg is not sat...
research
05/26/2022

Leveraging Causal Inference for Explainable Automatic Program Repair

Deep learning models have made significant progress in automatic program...
research
08/23/2022

Cinématique d'une Prothèse de Main Myoélectrique Accessible avec Actionneur Unique et Rétropulsion Passive du Pouce

This work proposes a new kinematics of a myoelectric hand prosthesis wit...
research
09/28/2018

Memory and Resource Leak Defects and their Repairs in Java Projects

Despite huge software engineering efforts and programming language suppo...

Please sign up or login with your details

Forgot password? Click here to reset