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

page 3

page 12

page 13

page 16

page 17

page 20

page 22

research
04/03/2019

Neural Program Repair by Jointly Learning to Localize and Repair

Due to its potential to improve programmer productivity and software qua...
research
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...
research
11/27/2022

Detect-Localize-Repair: A Unified Framework for Learning to Debug with CodeT5

Automated software debugging is a crucial task for improving the product...
research
11/16/2020

Automatically Repairing Programs Using Both Tests and Bug Reports

The success of automated program repair (APR) depends significantly on i...
research
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...
research
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...
research
08/25/2022

Social Diversity for ATL Repair

Model transformations play an essential role in the Model-Driven Enginee...

Please sign up or login with your details

Forgot password? Click here to reset