Stryker: Scaling Specification-Based Program Repair by Pruning Infeasible Mutants with SAT

10/30/2019
by   Luciano Zemín, et al.
0

Many techniques for automated program repair involve syntactic program transformations. Applying combinations of such transformations on faulty code yields fix candidates whose correctness must be determined. Exploring these combinations leads to an explosion on the number of generated fix candidates that severely limits the applicability of such fault repair techniques. This explosion is most times tamed by not considering fix candidates exhaustively, and by disabling intra-statement modifications. In this article we present a technique for program repair that considers an ample set of intra-statement syntactic operations, and explores fix candidates exhaustively up to a provided bound. The suitability of the technique, implemented in our tool Stryker, is supported by a novel mechanism to detect and prune infeasible fix candidates. This allows Stryker to repair programs with several bugs, whose fixes require multiple modifications. We evaluate our technique on a benchmark of faulty Java container classes, which Stryker is able to repair, pruning significant parts of the space of generated candidates when more than one bug is present in the code.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
03/11/2019

Revisiting ssFix for Better Program Repair

A branch of automated program repair (APR) techniques look at finding an...
research
08/03/2020

On the Efficiency of Test Suite based Program Repair: A Systematic Assessment of 16 Automated Repair Systems for Java Programs

Test-based automated program repair has been a prolific field of researc...
research
02/27/2021

Bounded Exhaustive Search of Alloy Specification Repairs

The rising popularity of declarative languages and the hard to debug nat...
research
12/21/2020

Adversarial Patch Generation for Automatic Program Repair

Automatic program repair (APR) has seen a growing interest in recent yea...
research
10/30/2017

Semantic Code Repair using Neuro-Symbolic Transformation Networks

We study the problem of semantic code repair, which can be broadly defin...
research
11/26/2020

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

We present Wolverine, an integrated Debug-Localize-Repair environment fo...
research
07/12/2018

IntRepair: Informed Fixing of Integer Overflows

Integer overflows have threatened software applications for decades. Thu...

Please sign up or login with your details

Forgot password? Click here to reset