Debug-Localize-Repair: A Symbiotic Construction for Heap Manipulations
Sahil Verma, Subhajit Roy

TL;DR
Wolverine2 is an integrated environment that combines debugging, localization, and repair for heap-manipulating programs, enabling quick bug fixes with visual aids and proof-directed algorithms.
Contribution
It introduces a novel, integrated debugging environment with proof-directed repair and bug localization algorithms, supporting hot-patching and new repair strategies.
Findings
Successfully repaired all buggy instances within 5 seconds on average.
Repaired over 80% of student submissions with reasonable attempts.
Effective on various complex data structures like AVL and Red-Black trees.
Abstract
We present Wolverine2, an integrated Debug-Localize-Repair environment for heap manipulating programs. Wolverine2 provides an interactive debugging environment: while concretely executing a program via on an interactive shell supporting common debugging facilities, Wolverine2 displays the abstract program states (as box-and-arrow diagrams) as a visual aid to the programmer, packages a novel, proof-directed repair algorithm to quickly synthesize the repair patches and a new bug localization algorithm to reduce the search space of repairs. Wolverine2 supports "hot-patching" of the generated patches to provide a seamless debugging environment, and also facilitates new debug-localize-repair possibilities: \textit{specification refinement} and \textit{checkpoint-based hopping}. We evaluate Wolverine2 on 6400 buggy programs (generated using automated fault injection) on a variety of…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Advanced Malware Detection Techniques
