arrow
Return

DARWIN: An Approach to Debugging Evolving Programs

delete2012-07-03
delete23
PRE
AI
D
Dawei Qi *
A
Abhik Roychoudhury
Z
Zhenkai Liang
K
Kapil Vaswani
DOI:10.1145/2211616.2211622delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Bugs in programs are often introduced when programs evolve from a stable version to a new version. In this article, we propose a new approach called DARWIN for automatically finding potential root causes of such bugs. Given two programs-a reference program and a modified program-and an input that fails on the modified program, our approach uses symbolic execution to automatically synthesize a new input that (a) is very similar to the failing input and (b) does not fail. We find the potential cause(s) of failure by comparing control-flow behavior of the passing and failing inputs and identifying code fragments where the control flows diverge. A notable feature of our approach is that it handles hard-to-explain bugs, like code missing errors, by pointing to code in the reference program. We have implemented this approach and conducted experiments using several real-world applications, such as the Apache Web server, libPNG (a library for manipulating PNG images), and TCPflow (a program for displaying data sent through TCP connections). In each of these applications, DARWIN was able to localize bugs with high accuracy. Even though these applications contain several thousands of lines of code, DARWIN could usually narrow down the potential root cause(s) to less than ten lines. In addition, we find that the inputs synthesized by DARWIN provide additional value by revealing other undiscovered errors.
Keywords:
Experimentation
Reliability
Software debugging
software evolution
symbolic execution
AI Summary

AI Summary

Key information extracted from the uploaded paper, including a brief overview, abstract, background, key highlights, visual analysis, and future outlook.

Journal

A
ACM Transactions on Software Engineering and Methodology
IF:
6.2
Papers:
1.2K
Citations:
3.4K

Organization

M
Microsoft
Scholars:
3.0K
Papers: 2.7K
Citations: 7
N
National University of Singapore
Scholars:
7.6W
Papers: 6.5W
Citations: 11.4W
Cited Papers

Cited Papers

Incidence and outcome of abdominal surgical interventions following lung transplantation—a single center experience
err2011-03-12
err0
PREAI
errKai Timrott; Florian W. R. Vondran; Mark D. Jaeger; Jens Gottlieb; Juergen Klempnauer; Thomas Becker
errShare
errSave
Growth, characterization, and application of well-defined separated GaN-based pyramid array on micropatterned sapphire substrate
err2017-08-10
err0
PREAI
errZhenhuan Tian; Yufeng Li; Xilin Su; Lungang Feng; Shuai Wang; Minyan Zhang; Wen Ding; Qiang Li; Ye Zhang; Maofeng Guo; Feng Yun; S. W. Ricky Lee
errShare
errSave
BNST neurocircuitry in humans
err2014-05-01
err0
errOAAI
errSuzanne N. Avery; Jacqueline A. Clauss; Danny G. Winder; Neil Woodward; Stephan Heckers; Jennifer Urbano Blackford
errShare
errSave
Electroosmotic pumps and their applications in microfluidic systems
err2009-01-09
err0
errOAAI
errXiayan Wang; Chang Cheng; Shili Wang; Shaorong Liu
errShare
errSave
NHS Direct: examining the challenges for nursing practice
err2000-09-28
err0
PREAI
errEdward A Glasper; Val Lattimer; Fiz Thompson; Denise Wray
errShare
errSave
researcher View more