Please use this identifier to cite or link to this item:
https://doi.org/10.1145/1595696.1595704
Title: | DARWIN: An approach for debugging evolving programs | Authors: | Qi, D. Roychoudhury, A. Liang, Z. Vaswani, K. |
Keywords: | Debugging Software evolution Symbolic execution |
Issue Date: | 2009 | Citation: | Qi, D., Roychoudhury, A., Liang, Z., Vaswani, K. (2009). DARWIN: An approach for debugging evolving programs. ESEC-FSE'09 - Proceedings of the Joint 12th European Software Engineering Conference and 17th ACM SIGSOFT Symposium on the Foundations of Software Engineering : 33-42. ScholarBank@NUS Repository. https://doi.org/10.1145/1595696.1595704 | Abstract: | 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, including real-world web servers and the libPNG library for manipulating PNG images. Our experience from these experiments points to the efficacy of DARWIN in pinpointing bugs. Moreover, while localizing a given observable error, the new inputs synthesized by DARWIN can reveal other undiscovered errors. Copyright 2009 ACM. | Source Title: | ESEC-FSE'09 - Proceedings of the Joint 12th European Software Engineering Conference and 17th ACM SIGSOFT Symposium on the Foundations of Software Engineering | URI: | http://scholarbank.nus.edu.sg/handle/10635/39894 | ISBN: | 9781605580012 | DOI: | 10.1145/1595696.1595704 |
Appears in Collections: | Staff Publications |
Show full item record
Files in This Item:
There are no files associated with this item.
Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.