ACM Home Page
Please provide us with feedback. Feedback
Isolating cause-effect chains from computer programs
Full text PdfPdf (1.12 MB)
Source ACM SIGSOFT Software Engineering Notes archive
Volume 27 ,  Issue 6  (November 2002) table of contents
SESSION: Session 2: dynamic program analysis table of contents
Pages: 1 - 10  
Year of Publication: 2002
ISSN:0163-5948
Author
Andreas Zeller  Universität des Saarlandes, Saarbrücken, Germany
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 48,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/605466.605468
What is a DOI?

ABSTRACT

Consider the execution of a failing program as a sequence of program states. Each state induces the following state, up to the failure. Which variables and values of a program state are relevant for the failure? We show how the Delta Debugging algorithm isolates the relevant variables and values by systematically narrowing the state difference between a passing run and a failing run--by assessing the outcome of altered executions to determine wether a change in the program state makes a difference in the test outcome. Applying Delta Debugging to multiple states of the program automatically reveals the cause-effect chain of the failure--that is, the variables and values that caused the failure.In a case study, our prototype implementation successfully isolated the cause-effect chain for a failure of the GNU C compiler: "Initially, the C program to be compiled contained an addition of 1.0; this caused an addition operator in the intermediate RTL representation; this caused a cycle in the RTL tree--and this caused the compiler to crash."


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

 
1
AskIgor web site. http://www.askigor.org/.
 
2
Delta debugging web site. http://www.st.cs.uni-sb.de/dd/.
3
 
4
H. G. Barrow and R. M. Burstall. Subgraph isomorphism, matching relational structures and maximal cliques. Information Processing Letters, 4(4):83-84, 1976.
5
 
6
7
8
9
 
10
Proc. International Conference on Software Engineering (ICSE), Orlando, Florida, May 2002.
11
12
 
13
 
14
J. R. Lyle and M. Weiser. Automatic program bug location by program slicing. In 2nd International Conference on Computers and Applications, pages 877-882, Peking, 1987. IEEE Computer Society Press, Los Alamitos, California.
15
 
16
 
17
F. Tip. A survey of program slicing techniques. Journal of Programming Languages, 3(3):121-189, Sept. 1995.
18
19
 
20
A. Zeller. Automated Debugging. Morgan Kaufmann Publishers, Aug. 2003. To appear (ISBN 1-55860-866-4).
 
21
 
22