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

11/26/2020
by   Sahil Verma, et al.
1

We present Wolverine, an integrated Debug-Localize-Repair environment for heap manipulating programs. Wolverine packages a new bug localization algorithm that reduces the search space of repairs and a novel, proof-directed repair algorithm to synthesize the repair patches. While concretely executing a program, Wolverine displays the abstract program states (as box-and-arrow diagrams) as a visual aid to the programmer. Wolverine supports "hot-patching" of the generated patches to provide a seamless debugging environment, and the bug localization enkindles tremendous speedups in repair timing. Wolverine also facilitates new debug-localize-repair possibilities, specification refinement, and checkpoint-based hopping. We evaluate our framework on 6400 buggy programs (generated using automated fault injection) on a variety of data-structures like singly, doubly, and circular linked lists, AVL trees, Red-Black trees, Splay Trees, and Binary Search Trees; Wolverine could repair all the buggy instances within realistic programmer wait-time (less than 5 sec in most cases). Wolverine could also repair more than 80 submissions (where a reasonable attempt was made).

READ FULL TEXT
POST COMMENT

Comments

There are no comments yet.

Authors

page 3

page 12

page 13

page 16

page 17

page 20

page 22

04/03/2019

Neural Program Repair by Jointly Learning to Localize and Repair

Due to its potential to improve programmer productivity and software qua...
07/14/2020

Longitudinal Analysis of the Applicability of Program Repair on Past Commits

The applicability of program repair in the real world is a little resear...
11/16/2020

Automatically Repairing Programs Using Both Tests and Bug Reports

The success of automated program repair (APR) depends significantly on i...
04/16/2021

High-Quality Automated Program Repair

Automatic program repair (APR) has recently gained attention because it ...
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...
10/30/2019

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

Many techniques for automated program repair involve syntactic program t...
02/10/2020

E-APR: Mapping the Effectiveness of Automated Program Repair

Automated Program Repair (APR) is a fast growing area with many new tech...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.