FlexiRepair: Transparent Program Repair with Generic Patches

11/26/2020
by   Anil Koyuncu, et al.
0

Template-based program repair research is in need for a common ground to express fix patterns in a standard and reusable manner. We propose to build on the concept of generic patch (also known as semantic patch), which is widely used in the Linux community to automate code evolution. We advocate that generic patches could provide at the same time a unified representation and a specification for fix patterns. Generic patches are indeed formally defined, and there exists a robust, industry-adapted, and extensible engine that processes generic patches to perform control-flow code matching and automatically generates concretes patches based on the specified change operations. In this paper, we present the design and implementation of a repair framework, FLEXIREPAIR, that explores generic patches as the core concept. In particular, we show how concretely generic patches can be inferred and applied in a pipeline of Automated Program Repair (APR). With FLEXIREPAIR, we address an urgent challenge in the template-based APR community to separate implementation details from actual scientific contributions by providing an open, transparent and flexible repair pipeline on top of which all advancements in terms of efficiency, efficacy and usability can be measured and assessed rigorously. Furthermore, because the underlying tools and concepts have already been accepted by a wide practitioner community, we expect FLEXIREPAIR's adoption by industry to be facilitated. Preliminary experiments with a prototype FLEXIREPAIR on the IntroClass and CodeFlaws benchmarks suggest that it already constitutes a solid baseline with comparable performance to some of the state of the art.

READ FULL TEXT

page 1

page 4

research
05/09/2018

A Comprehensive Study of Automatic Program Repair on the QuixBugs Benchmark

Automatic program repair papers tend to repeatedly use the same benchmar...
research
03/10/2022

Program Repair: Automated vs. Manual

Various automated program repair (APR) techniques have been proposed to ...
research
12/18/2018

Impact of Tool Support in Patch Construction

In this work, we investigate the practice of patch construction in the L...
research
12/08/2018

Production-Driven Patch Generation

We present an original concept for patch generation: we propose to do it...
research
08/30/2021

How to trust auto-generated code patches? A developer survey and empirical assessment of existing program repair tools

Automated program repair is an emerging technology that seeks to automat...
research
10/03/2018

FixMiner: Mining Relevant Fix Patterns for Automated Program Repair

Code comprehension is critical in software maintenance. Towards providin...
research
11/30/2019

Validation of Automatically Generated Patches: An Appetizer

In the context of test case based automated program repair (APR), the re...

Please sign up or login with your details

Forgot password? Click here to reset