Publication | Closed Access
Synergistic debug-repair of heap manipulations
25
Citations
32
References
2017
Year
Unknown Venue
Software MaintenanceHeap Manipulating ProgramsEngineeringSoftware EngineeringSoftware AnalysisStatic CheckingCompilersComputer ScienceBuggy ProgramsPresent WolverineDebuggerStatic Program AnalysisAutomated RepairHeap ManipulationsProgram AnalysisSoftware TestingFormal MethodsSymbolic ExecutionSystem Software
We present Wolverine, an integrated Debug-Repair environment for heap manipulating programs. Wolverine facilitates stepping through a concrete program execution, provides visualizations of the abstract program states (as box-and-arrow diagrams) and integrates a novel, proof-directed repair algorithm to synthesize repair patches. To provide a seamless environment, Wolverine supports "hot-patching" of the generated repair patches, enabling the programmer to continue the debug session without requiring an abort-compile-debug cycle. We also propose new debug-repair possibilities, "specification refinement" and "specification slicing" made possible by Wolverine. We evaluate our framework on 1600 buggy programs (generated using fault injection) on a variety of data-structures like singly, doubly and circular linked-lists, Binary Search Trees, AVL trees, Red-Black trees and Splay trees; Wolverine could repair all the buggy instances within reasonable time (less than 5 sec in most cases). We also evaluate Wolverine on 247 (buggy) student submissions; Wolverine could repair more than 80% of programs where the student had made a reasonable attempt.
| Year | Citations | |
|---|---|---|
1969 | 3.8K | |
2005 | 2.1K | |
2005 | 1.6K | |
2005 | 1.5K | |
2002 | 1K | |
2011 | 1K | |
2009 | 758 | |
2005 | 726 | |
2002 | 531 | |
2016 | 495 |
Page 1
Page 1