|
ABSTRACT
We present a statistical debugging algorithm that isolates bugs in programs containing multiple undiagnosed bugs. Earlier statistical algorithms that focus solely on identifying predictors that correlate with program failure perform poorly when there are multiple bugs. Our new technique separates the effects of different bugs and identifies predictors that are associated with individual bugs. These predictors reveal both the circumstances under which bugs occur as well as the frequencies of failure modes, making it easier to prioritize debugging efforts. Our algorithm is validated using several case studies, including examples in which the algorithm identified previously unknown, significant crashing bugs in widely used systems.
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
|
|
 |
2
|
|
 |
3
|
|
| |
4
|
S. Elbaum and M. Hardojo. Deploying instrumented software to assist the testing activity. In RAMSS 2003 RAMSS:2003, pages 31--33.
|
| |
5
|
|
| |
6
|
K. C. Gross, S. McMaster, A. Porter, A. Urmanov, and L. G. Votta. Proactive system maintenance using software telemetry. In RAMSS 2003 RAMSS:2003, pages 24--26.
|
 |
7
|
|
| |
8
|
E. Lehmann. Testing Statistical Hypotheses. John Wiley & Sons, 2nd edition, 1986.
|
| |
9
|
E. Lehmann and G. Casella. Theory of Point Estimation. Springer, 2nd edition, 2003.
|
 |
10
|
|
| |
11
|
B. Liblit, M. Naik, A. X. Zheng, A. Aiken, and M. I. Jordan. Public deployment of cooperative bug isolation. In Proceedings of the Second International Workshop on Remote Analysis and Measurement of Software Systems (RAMSS '04), pages 57--62, Edinburgh, Scotland, May 24 2004.
|
 |
12
|
|
| |
13
|
Andy Podgurski , David Leon , Patrick Francis , Wes Masri , Melinda Minch , Jiayang Sun , Bin Wang, Automated support for classifying software failure reports, Proceedings of the 25th International Conference on Software Engineering, May 03-10, 2003, Portland, Oregon
|
| |
14
|
|
 |
15
|
|
| |
16
|
A. X. Zheng, M. I. Jordan, B. Liblit, and A. Aiken. Statistical debugging of sampled programs. In S. Thrun, L. Saul, and B. Schölkopf, editors, Advances in Neural Information Processing Systems 16. MIT Press, Cambridge, MA, 2004.
|
CITED BY 57
|
|
Dan Hao , Ying Pan , Lu Zhang , Wei Zhao , Hong Mei , Jiasu Sun, A similarity-aware approach to testing based fault localization, Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering, November 07-11, 2005, Long Beach, CA, USA
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jinlin Yang , David Evans , Deepali Bhardwaj , Thirumalesh Bhat , Manuvir Das, Perracotta: mining temporal API rules from imperfect traces, Proceeding of the 28th international conference on Software engineering, May 20-28, 2006, Shanghai, China
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Maximilian Stoerzer , Barbara G. Ryder , Xiaoxia Ren , Frank Tip, Finding failure-inducing changes in java programs using change classification, Proceedings of the 14th ACM SIGSOFT international symposium on Foundations of software engineering, November 05-11, 2006, Portland, Oregon, USA
|
|
|
|
|
|
|
|
|
Alice X. Zheng , Michael I. Jordan , Ben Liblit , Mayur Naik , Alex Aiken, Statistical debugging: simultaneous identification of multiple bugs, Proceedings of the 23rd international conference on Machine learning, p.1105-1112, June 25-29, 2006, Pittsburgh, Pennsylvania
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Ted Kremenek , Paul Twohey , Godmar Back , Andrew Ng , Dawson Engler, From uncertainty to belief: inferring the specification within, Proceedings of the 7th symposium on Operating systems design and implementation, November 06-08, 2006, Seattle, Washington
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Jungwoo Ha , Christopher J. Rossbach , Jason V. Davis , Indrajit Roy , Hany E. Ramadan , Donald E. Porter , David L. Chen , Emmett Witchel, Improved error reporting for software that uses black-box components, ACM SIGPLAN Notices, v.42 n.6, June 2007
|
|
|
|
|
|
|
|
|
Murali Krishna Ramanathan , Mehmet Koyuturk , Ananth Grama , Suresh Jagannathan, PHALANX: a graph-theoretic framework for test case prioritization, Proceedings of the 2008 ACM symposium on Applied computing, March 16-20, 2008, Fortaleza, Ceara, Brazil
|
|
|
|
|
|
|
|
|
Murali Haran , Alan Karr , Michael Last , Alessandro Orso , Adam A. Porter , Ashish Sanil , Sandro Fouche, Techniques for Classifying Executions of Deployed Software to Support Software Engineering Tasks, IEEE Transactions on Software Engineering, v.33 n.5, p.287-304, May 2007
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Nicolas Bettenburg , Sascha Just , Adrian Schröter , Cathrin Weiss , Rahul Premraj , Thomas Zimmermann, What makes a good bug report?, Proceedings of the 16th ACM SIGSOFT International Symposium on Foundations of software engineering, November 09-14, 2008, Atlanta, Georgia
|
|
|
|
|
|
Joseph L. Greathouse , Ilya Wagner , David A. Ramos , Gautam Bhatnagar , Todd Austin , Valeria Bertacco , Seth Pettie, Testudo: Heavyweight security analysis via statistical sampling, Proceedings of the 2008 41st IEEE/ACM International Symposium on Microarchitecture, p.117-128, November 08-12, 2008
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|