The Effectiveness of Hidden Dependence Metrics in Bug Prediction

被引:0
作者
Jasz, Judit [1 ]
机构
[1] Univ Szeged, Dept Software Engn, H-6720 Szeged, Hungary
关键词
Computer bugs; Measurement; Software; Databases; Source coding; Software measurement; Sea measurements; Predictive models; Bug prediction; method level; hidden dependencies; metrics; FAULTS;
D O I
10.1109/ACCESS.2024.3406929
中图分类号
TP [自动化技术、计算机技术];
学科分类号
0812 ;
摘要
Finding and fixing bugs in programs is perhaps one of the most difficult, yet most important, tasks in software maintenance. This is why in the last decades, a lot of work has been done on this topic, most of which is based on machine learning methods. Studies on bug prediction can be found for almost all programming languages. The solutions presented generally try to predict bugs based on information that can be easily extracted from the source code, rather than more expensive solutions that require a deeper understanding of the program. Another feature of these solutions is that they usually try to predict faults at a high level (module/file/class), which is useful, but locating the bug itself is still a difficult task. This work presents a solution that attempts to predict bugs at the method level, while also tracking the dependencies in the program using an efficient algorithm, resulting in an approach that can predict bugs more accurately. The practical measurements show that the defined approach really outperforms predictions based on traditional metrics in most cases, and with proper filtering, the best-performing RandomForest algorithm according to the F-measure can even achieve an improvement of up to 11%. Finally, it is proven that the introduced metrics are even suitable for predicting bugs that will appear later in a given project if sufficient learning data is available.
引用
收藏
页码:77214 / 77225
页数:12
相关论文
共 38 条
[1]  
Alqadi BS, 2020, PROCEEDINGS OF THE 2020 IEEE 27TH INTERNATIONAL CONFERENCE ON SOFTWARE ANALYSIS, EVOLUTION, AND REENGINEERING (SANER '20), P411, DOI [10.1109/saner48275.2020.9054836, 10.1109/SANER48275.2020.9054836]
[2]   A validation of object-oriented design metrics as quality indicators [J].
Basili, VR ;
Briand, LC ;
Melo, WL .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1996, 22 (10) :751-761
[3]  
Beszedes A., 2005, Proceedings of the 13th IEEE Workshop on Software Technology and Engineering Practice (STEP 2005), P93
[4]  
Black S., 2006, PROGR SLIC DAGST SEM, V5451
[5]   A unified framework for coupling measurement in object-oriented systems [J].
Briand, LC ;
Daly, JW ;
Wüst, JK .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1999, 25 (01) :91-121
[6]   Method-level Bug Prediction: Problems and Promises [J].
Chowdhury, Shaiful ;
Uddin, Gias ;
Hemmati, Hadi ;
Holmes, Reid .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2024, 33 (04)
[7]  
D'Ambros Marco, 2010, Proceedings of the 2010 7th IEEE Working Conference on Mining Software Repositories (MSR 2010), P31, DOI 10.1109/MSR.2010.5463279
[8]   Optimization of object-oriented programs using static class hierarchy analysis [J].
Dean, J ;
Grove, D ;
Chambers, C .
ECOOP '95 - OBJECT-ORIENTED PROGRAMMING, 1995, 952 :77-101
[9]   An automatically created novel bug dataset and its validation in bug prediction [J].
Ferenc, Rudolf ;
Gyimesi, Peter ;
Gyimesi, Gabor ;
Toth, Zoltan ;
Gyimothy, Tibor .
JOURNAL OF SYSTEMS AND SOFTWARE, 2020, 169
[10]   A public unified bug dataset for java']java and its assessment regarding metrics and bug prediction [J].
Ferenc, Rudolf ;
Toth, Zoltan ;
Ladanyi, Gergely ;
Siket, Istvan ;
Gyimothy, Tibor .
SOFTWARE QUALITY JOURNAL, 2020, 28 (04) :1447-1506