Title
Tracking down software bugs using automatic anomaly detection
Abstract
This paper introduces DIDUCE, a practical and effective tool that aids programmers in detecting complex program errors and identifying their root causes. By instrumenting a program and observing its behavior as it runs, DIDUCE dynamically formulates hypotheses of invariants obeyed by the program. DIDUCE hypothesizes the strictest invariants at the beginning, and gradually relaxes the hypothesis as violations are detected to allow for new behavior. The violations reported help users to catch software bugs as soon as they occur. They also give programmers new visibility into the behavior of the programs such as identifying rare corner cases in the program logic or even locating hidden errors that corrupt the program's results.We implemented the DIDUCE system for Java programs and applied it to four programs of significant size and complexity. DIDUCE succeeded in identifying the root causes of programming errors in each of the programs quickly and automatically. In particular, DIDUCE is effective in isolating a timing-dependent bug in a released JSSE (Java Secure Socket Extension) library, which would have taken an experienced programmer days to find. Our experience suggests that detecting and checking program invariants dynamically is a simple and effective methodology for debugging many different kinds of program errors across a wide variety of application domains.
Year
DOI
Venue
2002
10.1145/581339.581377
ICSE
Keywords
Field
DocType
Java,object-oriented programming,program debugging,program testing,software libraries,software tools,DIDUCE tool,JSSE library,Java Secure Socket Extension library,automatic anomaly detection,complex program errors,object oriented programming,program behavior,program logic,software debugging tool,timing-dependent bug
Programmer,Programming language,Object-oriented programming,Software engineering,Computer science,Java Secure Socket Extension,Software bug,Software system,Real-time computing,Component-based software engineering,Java,Debugging
Conference
ISBN
Citations 
PageRank 
1-58113-472-X
306
21.87
References 
Authors
9
2
Search Limit
100306
Name
Order
Citations
PageRank
Sudheendra Hangal153635.73
Monica S. Lam25585705.61