Estimating the potential of program repair search spaces with commit analysis

  title={Estimating the potential of program repair search spaces with commit analysis},
  author={Khashayar Etemadi and Niloofar Tarighat and Siddharth Yadav and Matias Martinez and Monperrus Martin},
  journal={J. Syst. Softw.},
1 Citations

Figures and Tables from this paper

Quality Evaluation Method of Automatic Software Repair Using Syntax Distance Metrics

This work proposes a patch quality evaluation method based on syntax distance metrics, which measures the syntax distance of patches through four evaluation features—variable, expression, structure, and repair location; and evaluates 368 patches from multiple famous repair tools, indicating the method can find high-quality patches.



Automatic patch generation learned from human-written patches

A novel patch generation approach, Pattern-based Automatic program Repair (Par), using fix patterns learned from existing human-written patches to generate program patches automatically, which is more acceptable than GenProg.

Dynamic patch generation for null pointer exceptions using metaprogramming

The idea is to transform the program under repair with automated code transformation, so as to obtain a metaprogram, that contains automatically injected hooks, that can be activated to emulate a null pointer exception patch.

Nopol: Automatic Repair of Conditional Statement Bugs in Java Programs

Empirical analysis on Nopol shows that the approach can effectively fix bugs with buggy if conditions and missing preconditions on two large open-source projects, namely Apache Commons Math and Apache Commons Lang.

Towards an automated approach for bug fix pattern detection

PPD, a detector of repair patterns in patches, which performs source code change analysis at abstract-syntax tree level, is designed and implemented and evaluated and it is concluded that PPD has the potential to detect as many repair patterns as human manual analysis.

An Analysis of the Search Spaces for Generate and Validate Patch Generation Systems

  • Fan LongM. Rinard
  • Computer Science
    2016 IEEE/ACM 38th International Conference on Software Engineering (ICSE)
  • 2016
We present the first systematic analysis of key characteristics of patch search spaces for automatic patch generation systems. We analyze sixteen different configurations of the patch search spaces

GenProg: A Generic Method for Automatic Software Repair

This paper describes GenProg, an automated method for repairing defects in off-the-shelf, legacy programs without formal specifications, program annotations, or special coding practices, and analyzes the generated repairs qualitatively and quantitatively to demonstrate the process efficiently produces evolved programs that repair the defect.

BEARS: An Extensible Java Bug Benchmark for Automatic Program Repair Studies

BEARS, a project for collecting and storing bugs into an extensible bug benchmark for automatic repair studies in Java, is presented, and the version 1.0 of BEARS is delivered, which contains 251 reproducible bugs collected from 72 projects that use the Travis CI and Maven build environment.

Coming: A Tool for Mining Change Pattern Instances from Git Commits

  • Matias MartinezMonperrus Martin
  • Computer Science
    2019 IEEE/ACM 41st International Conference on Software Engineering: Companion Proceedings (ICSE-Companion)
  • 2019
Coming is presented, a tool that takes as input a Git repository and mines instances of code change patterns present on each commit, and presents a) the frequency of code changes and b) the instances found in each commit.

ASTOR: A Program Repair Library for Java

Astor is a publicly available program repair library that includes the implementation of three notable repair approaches (jGenProg2, jKali and jMutRepair) and is envision that the research community will use Astor for setting up comparative evaluations and explore the design space of automatic repair for Java.

Mining software repair models for reasoning on the search space of automated program fixing

This paper is about understanding the nature of bug fixing by analyzing thousands of bug fix transactions of software repositories and shows that not all probabilistic repair models are equivalent.