Mining Behavior Graphs for "Backtrace" of Noncrashing Bugs

被引:55
作者
Liu, Chao [1 ]
Yan, Xifeng [1 ]
Yu, Hwanjo [1 ]
Han, Jiawei [1 ]
Yu, Philip S.
机构
[1] Univ Illinois, Dept Comp Sci, Urbana, IL USA
来源
PROCEEDINGS OF THE FIFTH SIAM INTERNATIONAL CONFERENCE ON DATA MINING | 2005年
关键词
data mining; software reliability; debugging; noncrashing bugs; closed pattern; SVM;
D O I
10.1145/1081706.1081753
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Analyzing the executions of a buggy software program is essentially a data mining process. Although many interesting methods have been developed to trace crashing bugs (such as memory violation and core dumps), it is still difficult to analyze noncrashing bugs (such as logical errors). In this paper, we develop a novel method to classify the structured traces of program executions using software behavior graphs. By analyzing the correct and incorrect executions, we have made good progress at the isolation of program regions that may lead to the faulty executions. The classification framework is built on an integration of closed graph mining and SVM classification. More interestingly, suspicious regions are identified through the capture of the classification accuracy change, which is measured incrementally during program execution. Our performance study and case-based experiments show that our approach is both effective and efficient.
引用
收藏
页码:286 / 297
页数:12
相关论文
共 26 条
[1]  
[Anonymous], 2003, KDD '03: Proceedings of the ninth ACM SIGKDD international conference on Knowledge discovery and data mining, DOI DOI 10.1145/956750.956800
[2]   Finding latent code errors via machine learning over program executions [J].
Brun, Y ;
Ernst, MD .
ICSE 2004: 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2004, :480-490
[3]   Frequent sub-structure-based approaches for classifying chemical compounds [J].
Deshpande, M ;
Kuramochi, M ;
Karypis, G .
THIRD IEEE INTERNATIONAL CONFERENCE ON DATA MINING, PROCEEDINGS, 2003, :35-42
[4]   Memory safety without runtime checks or garbage collection [J].
Dhurjati, D ;
Kowshik, S ;
Adve, V ;
Lattner, C .
ACM SIGPLAN NOTICES, 2003, 38 (07) :69-80
[5]   Finding failures by cluster analysis of execution profiles [J].
Dickinson, W ;
Leon, D ;
Podgurski, A .
PROCEEDINGS OF THE 23RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, 2001, :339-348
[6]   CSSV: Towards a realistic tool for statically detecting all buffer overflows in C [J].
Dor, N ;
Rodeh, M ;
Sagiv, M .
ACM SIGPLAN NOTICES, 2003, 38 (05) :155-167
[7]   Dynamically discovering likely program invariants to support program evolution [J].
Ernst, MD ;
Cockrell, J ;
Griswold, WG ;
Notkin, D .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2001, 27 (02) :99-123
[8]  
European Space Agency, 2001, ARIANNE5 FLIGHT 501
[9]  
Frankl P. G., 1998, Software Engineering Notes, V23, P153, DOI 10.1145/291252.288298
[10]  
Hangal S, 2002, ICSE 2002: PROCEEDINGS OF THE 24TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, P291, DOI 10.1109/ICSE.2002.1007976