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

by   Sahil Verma, et al.

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).



There are no comments yet.


page 3

page 12

page 13

page 16

page 17

page 20

page 22


Neural Program Repair by Jointly Learning to Localize and Repair

Due to its potential to improve programmer productivity and software qua...

Longitudinal Analysis of the Applicability of Program Repair on Past Commits

The applicability of program repair in the real world is a little resear...

Automatically Repairing Programs Using Both Tests and Bug Reports

The success of automated program repair (APR) depends significantly on i...

High-Quality Automated Program Repair

Automatic program repair (APR) has recently gained attention because it ...

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...

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

Many techniques for automated program repair involve syntactic program t...

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.