Connecting Program Synthesis and Reachability: Automatic Program Repair using Test-Input Generation

03/28/2019
by   ThanhVu Nguyen, et al.
0

We prove that certain formulations of program synthesis and reachability are equivalent. Specifically, our constructive proof shows the reductions between the template-based synthesis problem, which generates a program in a pre-specified form, and the reachability problem, which decides the reachability of a program location. This establishes a link between the two research fields and allows for the transfer of techniques and results between them. To demonstrate the equivalence, we develop a program repair prototype using reachability tools. We transform a buggy program and its required specification into a specific program containing a location reachable only when the original program can be repaired, and then apply an off-the-shelf test-input generation tool on the transformed program to find test values to reach the desired location. Those test values correspond to repairs for the original programm. Preliminary results suggest that our approach compares favorably to other repair methods.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/20/2018

Program Repair via Direct State Manipulation

The goal of program repair is to automatically fix programs to meet a sp...
research
07/13/2017

On Repair with Probabilistic Attribute Grammars

Program synthesis and repair have emerged as an exciting area of researc...
research
03/14/2018

A Static Program Slicing Approach for Output Stream Objects in JEE Applications

In this paper, we propose a program slicing approach for the output stre...
research
10/24/2018

Alleviating Patch Overfitting with Automatic Test Generation: A Study of Feasibility and Effectiveness for the Nopol Repair System

Among the many different kinds of program repair techniques, one widely ...
research
08/12/2021

Synthesis of Static Test Environments for Observing Sequence-like Behaviors in Autonomous Systems

In this paper, we investigate formal test-case generation for high-level...
research
08/17/2022

Input Repair via Synthesis and Lightweight Error Feedback

Often times, input data may ostensibly conform to a given input format, ...
research
03/31/2022

Reachability Logic for Low-Level Programs

Automatic exploit generation is a relatively new area of research. Work ...

Please sign up or login with your details

Forgot password? Click here to reset