Convolutional Neural Networks over Control Flow Graphs for Software Defect Prediction

被引:93
作者
Anh Viet Phan [1 ]
Minh Le Nguyen [1 ]
Lam Thu Bui [2 ]
机构
[1] Japan Adv Inst Informat Technol, Nomi 9231211, Japan
[2] Le Quy Don Tech Univ, Hanoi, Vietnam
来源
2017 IEEE 29TH INTERNATIONAL CONFERENCE ON TOOLS WITH ARTIFICIAL INTELLIGENCE (ICTAI 2017) | 2017年
关键词
Software Defect Prediction; Control Flow Graphs; Convolutional Neural Networks;
D O I
10.1109/ICTAI.2017.00019
中图分类号
TP18 [人工智能理论];
学科分类号
081104 ; 0812 ; 0835 ; 1405 ;
摘要
Existing defects in software components is unavoidable and leads to not only a waste of time and money but also many serious consequences. To build predictive models, previous studies focus on manually extracting features or using tree representations of programs, and exploiting different machine learning algorithms. However, the performance of the models is not high since the existing features and tree structures often fail to capture the semantics of programs. To explore deeply programs' semantics, this paper proposes to leverage precise graphs representing program execution flows, and deep neural networks for automatically learning defect features. Firstly, control flow graphs are constructed from the assembly instructions obtained by compiling source code; we thereafter apply multi-view multi-layer directed graph-based convolutional neural networks (DGCNNs) to learn semantic features. The experiments on four real-world datasets show that our method significantly outperforms the baselines including several other deep learning approaches.
引用
收藏
页码:45 / 52
页数:8
相关论文
共 24 条
[1]  
Allen Frances E., 1970, ACM SIGPLAN NOTICES, V5, P1, DOI DOI 10.1145/390013.808479
[2]   Graph-based malware detection using dynamic analysis [J].
Anderson, Blake ;
Quist, Daniel ;
Neil, Joshua ;
Storlie, Curtis ;
Lane, Terran .
JOURNAL OF COMPUTER VIROLOGY AND HACKING TECHNIQUES, 2011, 7 (04) :247-258
[3]  
[Anonymous], 2011, Proceedings of the Conference on Empirical Methods in Natural Language Processing, EMNLP '11
[4]  
[Anonymous], 2016, 13 AAAI C ART INT
[5]  
Bruschi D, 2006, LECT NOTES COMPUT SC, V4064, P129
[6]   Software fault prediction: A literature review and current trends [J].
Catal, Cagatay .
EXPERT SYSTEMS WITH APPLICATIONS, 2011, 38 (04) :4626-4636
[7]   Software Plagiarism Detection: A Graph-based Approach [J].
Chae, Dong-Kyu ;
Ha, Jiwoon ;
Kim, Sang-Wook ;
Kang, BooJoong ;
Im, Eul Gyu .
PROCEEDINGS OF THE 22ND ACM INTERNATIONAL CONFERENCE ON INFORMATION & KNOWLEDGE MANAGEMENT (CIKM'13), 2013, :1577-1580
[8]   A METRICS SUITE FOR OBJECT-ORIENTED DESIGN [J].
CHIDAMBER, SR ;
KEMERER, CF .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1994, 20 (06) :476-493
[9]   An introduction to ROC analysis [J].
Fawcett, Tom .
PATTERN RECOGNITION LETTERS, 2006, 27 (08) :861-874
[10]  
Halstead M. H., 1977, ELEMENTS SOFTWARE SC, V7