ACM Home Page
Please provide us with feedback. Feedback
Critical slicing for software fault localization
Full text PdfPdf (1.33 MB)
Source International Symposium on Software Testing and Analysis archive
Proceedings of the 1996 ACM SIGSOFT international symposium on Software testing and analysis table of contents
San Diego, California, United States
Pages: 121 - 134  
Year of Publication: 1996
ISBN:0-89791-787-1
Also published in ...
Authors
Richard A. DeMillo  Bellcore, 445 South Street, Morristown NJ
Hsin Pan  Department of Computer and Information Science, National Chiao-Tung University, HsinChu, Taiwan, ROC
Eugene H. Spafford  Software Engineering Research Center, 1398 Computer Sciences Building, Purdue University, West Lafayette, IN
Sponsor
SIGSOFT: ACM Special Interest Group on Software Engineering
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 11,   Downloads (12 Months): 61,   Citation Count: 13
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

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

ABSTRACT

Developing effective debugging strategies to guarantee the reliability of software is important. By analyzing the debugging process used by experienced programmers, we have found that four distinct tasks are consistently performed: (1) determining statements involved in program failures, (2) selecting suspicious statements that might contain faults, (3) making hypotheses about suspicious faults (variables and locations), and (4) restoring program state to a specific statement for verification. This research focuses support for the second task, reducing the search domain for faults, which we refer to as fault localization.We explored a new approach to enhancing the process of fault localization based on dynamic program slicing and mutation-based testing. In this new approach, we have developed the technique of Critical Slicing to enable debuggers to highlight suspicious statements and thus to confine the search domain to a small region. The Critical Slicing technique is partly based on "statement deletion" mutant operator of the mutation-based testing methodology. We have explored properties of Critical Slicing, such as the relationship among Critical Slicing, Dynamic Program Slicing, and Executable Static Program Slicing; the cost to construct critical slices; and the effectiveness of Critical Slicing. Results of experiments support our conjecture as to the effectiveness and feasibility of using Critical Slicing for fault localization.This paper explains our technique and summarizes some of our findings. From these, we conclude that a debugger equipped with our proposed fault localization method can reduce human interaction time significantly and aid in the debugging of complex software.


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
H. Agrawal, R. A. DeMillo, B. Hathaway, W. Hsu, W. Hsu, E. W. Krauser, R. J. Martin, A. P. Mathur, and E. H. Spafford. Design of mutant operators for the C programming language. Technical Report SERC- TR-41-P, Software Engineering Research Center, Purdue University, West Lafayette, Indiana, March 1989.
2
 
3
4
5
 
6
 
7
ANSI/IEEE. !EEE Standard Glossary of So/tware Enginnering Terminology. IEEE Std 729-1983. IEEE, New York, 1983.
 
8
9
10
 
11
12
 
13
B. J. Choi, R. A. DeMillo, E. W. Krauser, R. J. Martin. A. P. Mathur, A. J. Offutt, H. Pan, and E. H. Spafford. The Mothra tool set. In Proceedzngs o/the 22nd Annual Hawaz~ International Conference or, Systems Sciences, pages 275-284, Kona, Hawaii, January 1989.
 
14
M. E. Delamaro. Um ambiente de teste baseado na anglise de mutantes (proteum: A test environment based on mutation analysis). Master's thesis, ICMSC- USP, S~o Carlos, SP, Brazil, October 1903.
 
15
M. E. Delamaro, J. C. Maldonado, M. Jino, and M.L.Chaim. Proteum: Uma ferramenta de teste baseada na anglise de mutantes (proteum: A testing tool based on mutation analysis). In Software Tools Proceedzngs of VII Brazdian Symposium on Software Engineering, Oct 1993.
 
16
R. A. DeMillo, R. J. Lipton, and F. G. Sayward. Hints on test data selection: Help for the practicing programmer. Computer, 11(4):34-43, April 1978.
 
17
R. A. DeMillo, H. Pan, and E. H. Spafford. Failure ~nd fault analysis for software debugging. Technical Report 03.574, Application Development Technology institute, Software Solutions Division, I.B.M., San Jose, California, July 1994.
18
19
 
20
J. B. Goodenough and S. L. Gerhart. Towards a theory of test data selection. IEEE Transactions on Software Engineering, SE-1(2):156-173, June 1975.
21
22
23
 
24
 
25
 
26
Myron Lipow. Prediction of software failures. The Journal of Systems and Software, 1(1):71-75, 1979.
27
 
28
 
29
P. Naur. Programming by action clusters. BIT, 9:250- 258, 1969.
 
30
H. Pan and E. H. Spafford. Toward automatic localization of software faults. In Proceed, ngs of the l Oth Pacific Northwest Software Quality Conference, pages 192-209, Portland, Oregon, October 19-21 1992.
 
31
Hsin Pan. Debugging with dynamic instrumentation and test-based knowledge. Technical Report SERC- TR-105-P, Software Engineering Research Center, Purdue University, West Lafayette, Indiana, September 1991.
 
32
 
33
 
34
C. V. Ramamoorthy, S. F. Ho, and W. T. Chen. On the automated generation of program test data. IEEE Transactions on Software Engineerzng, SE-2(4):293- 300, December 1976.
 
35
Richard M. Stallman. GDB Manual, third edition, GDB version 3. d. Free Software Foundation, Cambridge, Massachusetts, October 1989.
 
36
Richard M. Stallman. Using and Porting GNU CU, version 1.37. Free Software Foundation, Cambridge, Massachusetts, January 1990.
 
37
 
38
Iris Vessey. Expertise in debugging computer programs: A process analysis, international Journal of Man- Machine Studies, 23(5):459-494, November 1985.
39
 
40
Mark Weiser. Program slicing. IEEE Transactions o, Software Engzneer,ng, SE-10(4):352-357, July 1984.
 
41
W. E. Wong, J. C. Maldonado, M. E. Delamaro, and A. P. Mathur. Constrained mutation in C programs. In Proceedings o/ VIII Symposium on Software Enginer- ,ng, Oct 1994. in Curitiba, Brazil.

CITED BY  13

Collaborative Colleagues:
Richard A. DeMillo: colleagues
Hsin Pan: colleagues
Eugene H. Spafford: colleagues