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

08/30/2021
by   Yannic Noller, et al.
0

Automated program repair is an emerging technology that seeks to automatically rectify bugs and vulnerabilities using learning, search, and semantic analysis. Trust in automatically generated patches is necessary for achieving greater adoption of program repair. Towards this goal, we survey more than 100 software practitioners to understand the artifacts and setups needed to enhance trust in automatically generated patches. Based on the feedback from the survey on developer preferences, we quantitatively evaluate existing test-suite based program repair tools. We find that they cannot produce high-quality patches within a top-10 ranking and an acceptable time period of 1 hour. The developer feedback from our qualitative study and the observations from our quantitative examination of existing repair tools point to actionable insights to drive program repair research. Specifically, we note that producing repairs within an acceptable time-bound is very much dependent on leveraging an abstract search space representation of a rich enough search space. Moreover, while additional developer inputs are valuable for generating or ranking patches, developers do not seem to be interested in a significant human-in-the-loop interaction.

READ FULL TEXT
research
11/23/2022

Program Repair

Automated program repair is an emerging technology which consists of a s...
research
12/11/2017

Open-ended Exploration of the Program Repair Search Space with Mined Templates: the Next 8935 Patches for Defects4J

In this paper our goal is to perform an open-ended exploration of the pr...
research
02/03/2023

Parfum: Detection and Automatic Repair of Dockerfile Smells

Docker is a popular tool for developers and organizations to package, de...
research
04/16/2021

High-Quality Automated Program Repair

Automatic program repair (APR) has recently gained attention because it ...
research
01/30/2023

Conversational Automated Program Repair

Automated Program Repair (APR) can help developers automatically generat...
research
11/26/2020

Debug-Localize-Repair: A Symbiotic Construction for Heap Manipulations

We present Wolverine, an integrated Debug-Localize-Repair environment fo...
research
11/26/2020

FlexiRepair: Transparent Program Repair with Generic Patches

Template-based program repair research is in need for a common ground to...

Please sign up or login with your details

Forgot password? Click here to reset