ChangeChecker: A Tool for Defect Prediction in Source Code Changes based on Incremental Learning Method

被引:0
作者
Yuan, Zi [1 ]
Yu, Lili [2 ]
Liu, Chao [1 ]
Zhang, Linghua [3 ]
机构
[1] Beihang Univ, Dept Comp Sci, Beijing, Peoples R China
[2] Second Artillery, Software Testing Ctr, Beijing, Peoples R China
[3] Oracle, Software Res & Dev Ctr, Beijing, Peoples R China
来源
2013 3RD INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND NETWORK TECHNOLOGY (ICCSNT) | 2013年
关键词
software engineering; source code change; defect prediction; incremental learning;
D O I
暂无
中图分类号
TP3 [计算技术、计算机技术];
学科分类号
0812 ;
摘要
In software development process, software developers may introduce defects as they make changes to software projects. Being aware of introduced defects immediately upon the completion of the change would allow software developers or testers to allocate more resources of testing and inspecting on the current risky change timely, which can shorten the process of defect finding and fixing effectively. In this paper, we propose a software tool called ChangeChecker to help software developers predict whether current source code change has any defects or not during the software development process. This tool infers the existence of defect by dynamically mining patterns of the source code changes in the revision history of the software project. It mainly consists of three components: (1) incremental feature collection and transformation, (2) real-time defect prediction for source code changes, and (3) dynamic update of the learning model. The tool has been evaluated in a large famous open source project Eclipse and applied to a real software development scenario.
引用
收藏
页码:349 / 354
页数:6
相关论文
共 10 条
[1]  
Eyolfson J., 2011, P 8 WORK C MIN SOFTW, P153, DOI DOI 10.1145/1985441.1985464
[2]  
Giger E, 2011, P 8 WORK C MIN SOFTW, P83, DOI DOI 10.1145/1985441.1985456
[3]   Predicting fault incidence using software change history [J].
Graves, TL ;
Karr, AF ;
Marron, JS ;
Siy, H .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2000, 26 (07) :653-661
[4]  
Halstead M.H., 1977, Elements of Software Science (Operating and Programming Systems Series
[5]   Classifying software changes: Clean or buggy? [J].
Kim, Sunghun ;
Whitehead, E. James, Jr. ;
Zhang, Yi .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2008, 34 (02) :181-196
[6]  
Lu JL, 2006, LECT NOTES ARTIF INT, V4093, P223
[7]  
McCabe T. J., 1976, IEEE Transactions on Software Engineering, VSE-2, P308, DOI 10.1109/TSE.1976.233837
[8]   Predicting risk of software changes [J].
Mockus, A ;
Weiss, DM .
BELL LABS TECHNICAL JOURNAL, 2000, 5 (02) :169-180
[9]   Software defect association mining and defect correction effort prediction [J].
Song, QB ;
Shepperd, M ;
Cartwright, M ;
Mair, C .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2006, 32 (02) :69-82
[10]   Predicting subsystem failures using dependency graph complexities [J].
Zimmermann, Thomas ;
Nagappan, Nachiappan .
ISSRE 2007: 18TH IEEE INTERNATIONAL SYMPOSIUM ON SOFTWARE RELIABILITY ENGINEERING, PROCEEDINGS, 2007, :227-+