Sciweavers

SIGSOFT
2009
ACM

Darwin: an approach for debugging evolving programs

15 years 7 days ago
Darwin: an approach for debugging evolving programs
Debugging refers to the laborious process of finding causes of program failures. Often, such failures are introduced when a program undergoes changes and evolves from a stable version to a new, modified version. In this paper, we propose an automated approach for debugging evolving programs. Given two programs (a reference, stable program and a new, modified program) and an input that fails on the modified program, our approach uses concrete as well as symbolic execution to synthesize new inputs that differ marginally from the failing input in their control flow behavior. A comparison of the execution traces of the failing input and the new inputs provides critical clues to the root-cause of the failure. A notable feature of our approach is that it handles hard-to-explain bugs like code missing errors by pointing to the relevant code in the reference program. We have implemented our approach in a tool called DARWIN. We have conducted experiments with several real-life case studies, in...
Dawei Qi, Abhik Roychoudhury, Zhenkai Liang, Kapil
Added 19 Nov 2009
Updated 19 Nov 2009
Type Conference
Year 2009
Where SIGSOFT
Authors Dawei Qi, Abhik Roychoudhury, Zhenkai Liang, Kapil Vaswani
Comments (0)