|
ABSTRACT
Localizing the cause(s) of an observable error lies at the heart of program debugging. Fault localization often proceeds by comparing the failing program run with some "successful" run (a run which does not demonstrate the error). An issue here is to generate or choose a "suitable" successful run; this task is often left to the programmer. In this paper, we present an efficient technique where the construction of the successful run as well its comparison with the failing run is automated. Our method constructs a successful program run by toggling the outcomes of some conditional branch instances in the failing run. If such a successful run exists, program statements for these branches are returned as bug report. In our experiments with the Siemens benchmark suite, we found that the quality of our bug report compares well with those produced by existing fault localization approaches where the programmer manually provides or chooses a successful run.
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
|
Thomas Ball , Mayur Naik , Sriram K. Rajamani, From symptom to cause: localizing errors in counterexample traces, Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, p.97-105, January 15-17, 2003, New Orleans, Louisiana, USA
|
 |
2
|
|
 |
3
|
|
| |
4
|
D. Detlefs, G. Nelson, and J. Saxe. Simplify: A theorem prover for program checking. Technical report, HP Labs, Palo Alto, CA, 2003. http://research.compaq.com/SRC/esc/Simplify.html.
|
| |
5
|
A. Groce. Error explanation with distance metrics. In Tools and Algorithms for the Construction and Analysis of Systems (TACAS), pages 108--122, 2004.
|
| |
6
|
A. Groce and W. Visser. What went wrong: Explaining counterexamples. In SPIN Workshop on Model Checking of Software, pages 121--135, 2003.
|
| |
7
|
Monica Hutchins , Herb Foster , Tarak Goradia , Thomas Ostrand, Experiments of the effectiveness of dataflow- and controlflow-based test adequacy criteria, Proceedings of the 16th international conference on Software engineering, p.191-200, May 16-21, 1994, Sorrento, Italy
|
 |
8
|
|
 |
9
|
Ben Liblit , Alex Aiken , Alice X. Zheng , Michael I. Jordan, Bug isolation via remote program sampling, Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, June 09-11, 2003, San Diego, California, USA
|
| |
10
|
B. Pytlik, M. Renieris, S. Krishnamurthi, and S. P. Reiss. Automated fault localization using potential invariants. CoRR, cs.SE/0310040, Oct, 2003.
|
| |
11
|
M. Renieris and S. P. Reiss. Fault localization with nearest neighbor queries. In Automated Software Engineering (ASE), pages 30--39, 2003.
|
 |
12
|
Thomas Reps , Thomas Ball , Manuvir Das , James Larus, The use of program profiling for software maintenance with applications to the year 2000 problem, Proceedings of the 6th European conference held jointly with the 5th ACM SIGSOFT international symposium on Foundations of software engineering, p.432-449, September 22-25, 1997, Zurich, Switzerland
|
| |
13
|
|
 |
14
|
J. Ruthruff , E. Creswick , M. Burnett , C. Cook , S. Prabhakararao , M. Fisher, II , M. Main, End-user software visualizations for fault localization, Proceedings of the 2003 ACM symposium on Software visualization, June 11-13, 2003, San Diego, California
[doi> 10.1145/774833.774851]
|
 |
15
|
|
| |
16
|
|
|