Comparing Software Defect Prediction Models: Research Problem, Progress, and Challenges
Author:
Affiliation:

  • Article
  • | |
  • Metrics
  • |
  • Reference [159]
  • |
  • Related [20]
  • | | |
  • Comments
    Abstract:

    In recent years, a large number of software defect prediction models have been proposed. Once a new defect prediction model is proposed, it is often compared with previous defect prediction models to evaluate its effectiveness. However, there is no consensus on how to compare the newly proposed defect prediction model with previous defect prediction models. Different studies often adopt different settings for comparison, which may lead to misleading conclusions in the comparisons of prediction models, and consequently lead to missing the opportunity to improve the effectiveness of defect prediction. This study systematically reviews the comparative experiments of software defect prediction models conducted by worldwide scholars in recent years. First, the comparisons of defect prediction models are introduced. Then, the research progress is summarized from the perspectives of defect dataset, dataset split, baseline models, performance indicators, and classification thresholds, respectively, in the comparisons. Finally, the opportunities and challenges are summarized in comparative experiments of defect prediction models and the research directions in the future are outlined.

    Reference
    [1] Lessmann S, Baesens B, Mues C, Pietsch S. Benchmarking classification models for software defect prediction:A proposed framework and novel findings. IEEE Trans. on Software Engineering, 2008, 34(4):485-496.[doi:10.1109/TSE.2008.35]
    [2] Nam J, Kim S. Clami:Defect prediction on unlabeled datasets (t). In:Proc. of the 30th IEEE/ACM Int'l Conf. on Automated Software Engineering (ASE). 2015. 452−463.[doi:10.1109/ASE.2015.56]
    [3] Fu W, Menzies T. Revisiting unsupervised learning for defect prediction. In:Proc. of the 11th Joint Meeting on Foundations of Software Engineering. 2017. 72−83.[doi:10.1145/3106237.3106257]
    [4] Qu Y, Zheng QH, Chi JL, Jin YX, He AC, Cui D, Zhang HS, Liu T. Using k-core decomposition on class dependency networks to improve bug prediction model's practical performance. IEEE Trans. on Software Engineering, 2021, 47(2):348-366.[doi:10.1109/TSE.2019.2892959]
    [5] Yang YB, Zhou YM, Lu HM, Chen L, Chen ZY, Xu B, Leung H, Zhang ZY. Are slice-based cohesion metrics actually useful in effort-aware post-release fault-proneness prediction? An empirical study. IEEE Trans. on Software Engineering, 2014, 41(4):331-357.[doi:10.1109/TSE.2014.2370048]
    [6] Zimmermann T, Nagappan N, Gall H, Giger E, Murphy B. Cross-project defect prediction:A large scale experiment on data vs. domain vs. process. In:Proc. of the 7th Joint Meeting of the European Software Engineering Conf. and the ACM SIGSOFT Symp. on the Foundations of Software Engineering. 2009. 91−100.[doi:10.1145/1595696.1595713]
    [7] Lewis C, Lin Z, Sadowski C, Zhu X, Ou R, Whitehead EJ. Does bug prediction support human developers? Findings from a Google case study. In:Proc. of the 35th Int'l Conf. on Software Engineering (ICSE). 2013. 372−381.[doi:10.1109/ICSE.2013.6606583]
    [8] Wan Z, Xia X, Hassan AE, Lo D, Yin J, Yang X. Perceptions, expectations, and challenges in defect prediction. IEEE Trans. on Software Engineering, 2020, 46(11):1241-1266.[doi:10.1109/TSE.2018.2877678]
    [9] Chen JY, Hu KY, Yu Y, Chen ZZ, Xuan Q, Liu Y, Filkov V. Software visualization and deep transfer learning for effective software defect prediction. In:Proc. of the 42nd ACM/IEEE Int'l Conf. on Software Engineering. 2020. 578−589.[doi:10.1145/3377811.3380389]
    [10] Shepperd M, Song Q, Sun Z, Mair C. Data quality:Some comments on the nasa software defect datasets. IEEE Trans. on Software Engineering, 2013, 39(9):1208-1215.[doi:10.1109/TSE.2013.11]
    [11] Yang YB, Harman M, Krinke J, Islam S, Binkley D, Zhou YM, Xu BW. An empirical study on dependence clusters for effort-aware fault-proneness prediction. In:Proc. of the 31st IEEE/ACM Int'l Conf. on Automated Software Engineering (ASE). 2016. 296−307.[doi:10.1145/2970276.2970353]
    [12] Song QB, Guo YC, Shepperd M. A comprehensive investigation of the role of imbalanced learning for software defect prediction. IEEE Trans. on Software Engineering, 2018, 45(12):1253-1269.[doi:10.1109/TSE.2018.2836442]
    [13] Moser R, Pedrycz W, Succi G. A comparative analysis of the efficiency of change metrics and static code attributes for defect prediction. In:Proc. of the 30th Int'l Conf. on Software Engineering. 2008. 181−190.[doi:10.1145/1368088.1368114]
    [14] Li K, Xiang ZL, Chen T, Wang S, Tan KC. Understanding the automated parameter optimization on transfer learning for cross-project defect prediction:An empirical study. In:Proc. of the 42nd ACM/IEEE Int'l Conf. on Software Engineering. 2020. 566−577.[doi:10.1145/3377811.3380360]
    [15] Tantithamthavorn C, Hassan AE, Matsumoto K. The impact of class rebalancing techniques on the performance and interpretation of defect prediction models. IEEE Trans. on Software Engineering, 2020, 46(11):1200-1219.[doi:10.1109/tse.2018.2876537]
    [16] Suh A. Adapting bug prediction models to predict reverted commits at wayfair. In:Proc. of the 28th ACM Joint Meeting on European Software Engineering Conf. and Symp. on the Foundations of Software Engineering. 2020. 1251−1262.[doi:10.1145/3368089.3417062]
    [17] Tantithamthavorn C, McIntosh S, Hassan AE, Matsumoto K. The impact of automated parameter optimization on defect prediction models. IEEE Trans. on Software Engineering, 2019, 45(7):683-711.[doi:10.1109/tse.2018.2794977]
    [18] Wen M, Wu RX, Cheung SC. How well do change sequences predict defects? Sequence learning from software changes. IEEE Trans. on Software Engineering, 2018, 46(11):1155-1175.[doi:10.1109/TSE.2018.2876256]
    [19] Gong LN, Jiang SJ, Wang RC, Jiang L. Empirical evaluation of the impact of class overlap on software defect prediction. In:Proc. of the 34th IEEE/ACM Int'l Conf. on Automated Software Engineering (ASE). 2019. 698−709.[doi:10.1109/ASE.2019.00071]
    [20] Li ZQ, Jing XY, Zhu XK, Zhang HY, Xu BW, Ying S. On the multiple sources and privacy preservation issues for heterogeneous defect prediction. IEEE Trans. on Software Engineering, 2019, 45(4):391-411.[doi:10.1109/tse.2017.2780222]
    [21] Wang Q, Wu SJ, Li MS. Software defect prediction. Ruan Jian Xue Bao/Journal of Software, 2008, 19(7):1565−1580 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/19/1565.htm[doi:10.3724/SP.J.1001.2008.01565] 王青, 伍书剑, 李明树. 软件缺陷预测技术. 软件学报, 2008, 19(7):1565−1580. http://www.jos.org.cn/1000-9825/19/1565.htm[doi:10.3724/SP.J.1001.2008.01565].
    [22] Catal C, Diri B. A systematic review of software fault prediction studies. Expert Systems with Applications, 2009, 36(4):7346-7354.[doi:10.1016/j.eswa.2008.10.027]
    [23] Catal C. Software fault prediction:A literature review and current trends. Expert Systems with Applications, 2011, 38(4):4626-4636.[doi:10.1016/j.eswa.2010.10.024]
    [24] Hall T, Beecham S, Bowes D, Gray D, Counsell S. A systematic literature review on fault prediction performance in software engineering. IEEE Trans. on Software Engineering, 2012, 38(6):1276-1304.[doi:10.1109/TSE.2011.103]
    [25] Catal C. A comparison of semi-supervised classification approaches for software defect prediction. Journal of Intelligent Systems, 2013, 23(1):75-82.[doi:10.1515/jisys-2013-0030]
    [26] Malhotra R. A systematic review of machine learning techniques for software fault prediction. Applied Soft Computing, 2015, 27:504-518.[doi:10.1016/j.asoc.2014.11.023]
    [27] Chen X, Gu Q, Liu WS, Liu SL, Ni C. Survey of static software defect prediction. Ruan Jian Xue Bao/Journal of Software, 2016, 27(1):1−25 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/4923.htm[doi:10.13328/j.cnki.jos.004923] 陈翔, 顾庆, 刘望舒, 刘树龙, 倪超. 静态软件缺陷预测方法研究. 软件学报, 2016, 27(1):1−25. http://www.jos.org.cn/1000-9825/4923.htm[doi:10.13328/j.cnki.jos.004923].
    [28] Zhou YM, Yang YB, Lu HM, Chen L, Li YH, Zhao YY, Qian JY, Xu BW. How far we have progressed in the journey? An examination of cross-project defect prediction. ACM Trans. on Software Engineering and Methodology, 2018, 27(1):1-51.[doi:10.1145/3183339]
    [29] Herbold S, Trautsch A, Grabowski J. A comparative study to benchmark cross-project defect prediction approaches. In:Proc. of the 40th Int'l Conf. on Software Engineering. 2018. 1063−1063.[doi:10.1145/3180155.3182542]
    [30] Hosseini S, Turhan B, Gunarathna D. A systematic literature review and meta-analysis on cross project defect prediction. IEEE Trans. on Software Engineering, 2019, 45(2):111-147.[doi:10.1109/tse.2017.2770124]
    [31] Cai L, Fan YR, Yan M, Xia X. Just-in-time software defect prediction:Literature review. Ruan Jian Xue Bao/Journal of Software, 2019, 30(5):1288−1307 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5713.htm[doi:10.13328/j.cnki.jos.005713] 蔡亮, 范元瑞, 鄢萌, 夏鑫. 即时软件缺陷预测研究进展. 软件学报, 2019, 30(5):1288−1307. http://www.jos.org.cn/1000-9825/5713.htm[doi:10.13328/j.cnki.jos.005713].
    [32] Gong LN, Jiang SJ, Jiang L. Research progress of software defect prediction. Ruan Jian Xue Bao/Journal of Software, 2019, 30(10):3090−3114 (in Chinese with English abstract). http://www.jos.org.cn/1000-9825/5790.htm[doi:10.13328/j.cnki.jos.005790] 宫丽娜, 姜淑娟, 姜丽. 软件缺陷预测技术研究进展. 软件学报, 2019, 30(10):3090−3114. http://www.jos.org.cn/1000-9825/5790.htm[doi:10.13328/j.cnki.jos.005790].
    [33] Tantithamthavorn C, McIntosh S, Hassan AE, Matsumoto K. An empirical comparison of model validation techniques for defect prediction models. IEEE Trans. on Software Engineering, 2016, 43(1):1-18.[doi:10.1109/TSE.2016.2584050]
    [34] Amasaki S. Cross-Version defect prediction:Use historical data, cross-project data, or both? Empirical Software Engineering, 2020, 25(2):1573-1595.[doi:10.1007/s10664-019-09777-8]
    [35] Li N, Shepperd M, Guo Y. A systematic review of unsupervised learning techniques for software defect prediction. Information and Software Technology, 2020, 122:106287.[doi:10.1016/j.infsof.2020.106287]
    [36] Chen X, Mu Y, Liu K, Cui Z, Ni C. Revisiting heterogeneous defect prediction methods:How far are we? Information and Software Technology, 2021, 130:106441.[doi:10.1016/j.infsof.2020.106441]
    [37] Xu Z, Li L, Yan M, Liu J, Luo X, Grundy J, Zhang Y, Zhang X. A comprehensive comparative study of clustering-based unsupervised defect prediction models. Journal of Systems and Software, 2021, 172:110862.[doi:10.1016/j.jss.2020.110862]
    [38] Ni C, Xia X, Lo D, Chen X, Gu Q. Revisiting supervised and unsupervised methods for effort-aware cross-project defect prediction. IEEE Trans. on Software Engineering, 2020.[doi:10.1109/TSE.2020.3001739]
    [39] Liu YF, Zhang HH, Wu YC. Hard or soft classification? Large-margin unified machines. Journal of the American Statistical Association, 2011, 106(493):166-177.[doi:10.1198/jasa.2011.tm10319]
    [40] Wang S, Liu TY, Nam J, Tan L. Deep semantic feature learning for software defect prediction. IEEE Trans. on Software Engineering, 2018, 46(12):1267-1293.[doi:10.1109/TSE.2018.2877612]
    [41] Cabral GG, Minku LL, Shihab E, Mujahid S. Class imbalance evolution and verification latency in just-in-time software defect prediction. In:Proc. of the 41st IEEE/ACM Int'l Conf. on Software Engineering (ICSE). 2019. 666−676.[doi:10.1109/ICSE.2019.00076]
    [42] Zhou YM, Xu BW, Leung H, Chen L. An in-depth study of the potentially confounding effect of class size in fault prediction. ACM Trans. on Software Engineering and Methodology, 2014, 23(1):1-51.[doi:10.1145/2556777]
    [43] Dejaeger K, Verbraken T, Baesens B. Toward comprehensible software fault prediction models using Bayesian network classifiers. IEEE Trans. on Software Engineering, 2013, 39(2):237-257.[doi:10.1109/tse.2012.20]
    [44] Di Nucci D, Palomba F, De Rosa G, Bavota G, Oliveto R, De Lucia A. A developer centered bug prediction model. IEEE Trans. on Software Engineering, 2017, 44(1):5-24.[doi:10.1109/TSE.2017.2659747]
    [45] Gyimothy T, Ferenc R, Siket I. Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE Trans. on Software Engineering, 2005, 31(10):897-910.[doi:10.1109/tse.2005.112]
    [46] Jing XY, Wu F, Dong XW, Xu BW. An improved sda based defect prediction framework for both within-project and cross-project class-imbalance problems. IEEE Trans. on Software Engineering, 2017, 43(4):321-339.[doi:10.1109/tse.2016.2597849]
    [47] Lee T, Nam J, Han D, Kim S, In HP. Developer micro interaction metrics for software defect prediction. IEEE Trans. on Software Engineering, 2016, 42(11):1015-1035.[doi:10.1109/TSE.2016.2550458]
    [48] Marcus A, Poshyvanyk D, Ferenc R. Using the conceptual cohesion of classes for fault prediction in object-oriented systems. IEEE Trans. on Software Engineering, 2008, 34(2):287-300.[doi:10.1109/TSE.2007.70768]
    [49] McIntosh S, Kamei Y. Are fix-inducing changes a moving target? A longitudinal case study of just-in-time defect prediction. IEEE Trans. on Software Engineering, 2017, 44(5):412-428.[doi:10.1109/TSE.2017.2693980]
    [50] Menzies T, Greenwald J, Frank A. Data mining static code attributes to learn defect predictors. IEEE Trans. on Software Engineering, 2006, 33(1):2-13.[doi:10.1145/1368088.1368114]
    [51] Nam J, Fu W, Kim S, Menzies T, Tan L. Heterogeneous defect prediction. IEEE Trans. on Software Engineering, 2017, 44(9):874-896.[doi:10.1109/TSE.2017.2720603]
    [52] Olague HM, Etzkorn LH, Gholston S, Quattlebaum S. Empirical validation of three software metrics suites to predict fault-proneness of object-oriented classes developed using highly iterative or agile software development processes. IEEE Trans. on Software Engineering, 2007, 33(6):402-419.[doi:10.1109/TSE.2007.1015]
    [53] Ostrand TJ, Weyuker EJ, Bell RM. Predicting the location and number of faults in large software systems. IEEE Trans. on Software Engineering, 2005, 31(4):340-355.[doi:10.1109/TSE.2005.49]
    [54] Palomba F, Zanoni M, Fontana FA, De Lucia A, Oliveto R. Toward a smell-aware bug prediction model. IEEE Trans. on Software Engineering, 2017, 45(2):194-218.[doi:10.1109/TSE.2017.2770122]
    [55] Peters F, Menzies T, Gong L, Zhang H. Balancing privacy and utility in cross-company defect prediction. IEEE Trans. on Software Engineering, 2013, 39(8):1054-1068.[doi:10.1109/TSE.2013.6]
    [56] Shivaji S, Whitehead EJ, Akella R, Sunghun K. Reducing features to improve code change-based bug prediction. IEEE Trans. on Software Engineering, 2013, 39(4):552-569.[doi:10.1109/tse.2012.43]
    [57] Song QB, Jia ZH, Shepperd M, Ying S, Liu J. A general software defect-proneness prediction framework. IEEE Trans. on Software Engineering, 2010, 37(3):356-370.[doi:10.1109/TSE.2010.90]
    [58] Song Q, Shepperd M, Cartwright M, Mair C. Software defect association mining and defect correction effort prediction. IEEE Trans. on Software Engineering, 2006, 32(2):69-82.[doi:10.1109/TSE.2006.1599417]
    [59] Xia X, Lo D, Pan SJ, Nagappan N, Wang XY. Hydra:Massively compositional model for cross-project defect prediction. IEEE Trans. on Software Engineering, 2016, 42(10):977-998.[doi:10.1109/TSE.2016.2543218]
    [60] Yu TT, Wen W, Han X, Hayes JH. Conpredictor:Concurrency defect prediction in real-world applications. IEEE Trans. on Software Engineering, 2018, 45(6):558-575.[doi:10.1109/TSE.2018.2791521]
    [61] Zhang F, Hassan AE, McIntosh S, Zou Y. The use of summation to aggregate software metrics hinders the performance of defect prediction models. IEEE Trans. on Software Engineering, 2016, 43(5):476-491.[doi:10.1109/TSE.2016.2599161]
    [62] Zhou YM, Leung H. Empirical analysis of object-oriented design metrics for predicting high and low severity faults. IEEE Trans. on Software Engineering, 2006, 32(10):771-789.[doi:10.1109/TSE.2006.102]
    [63] Jiang T, Tan L, Kim S. Personalized defect prediction. In:Proc. of the 28th IEEE/ACM Int'l Conf. on Automated Software Engineering (ASE). 2013. 279−289.[doi:10.1109/ASE.2013.6693087]
    [64] Li K, Xiang ZL, Chen T, Tan KC. Bilo-CPDP:Bi-level programming for automated model discovery in cross-project defect prediction. In:Proc. of the 35th IEEE/ACM Int'l Conf. on Automated Software Engineering (ASE). 2020. 573−584.[doi:10.1145/3324884.3416617]
    [65] Jing XY, Wu F, Dong XW, Qi FM, Xu BW. Heterogeneous cross-company defect prediction by unified metric representation and cca-based transfer learning. In:Proc. of the 10th Joint Meeting on Foundations of Software Engineering. 2015. 496−507.[doi:10.1145/2786805.2786813]
    [66] Nam J, Kim S. Heterogeneous defect prediction. In:Proc. of the 10th Joint Meeting on Foundations of Software Engineering. 2015. 508−519.[doi:10.1145/2786805.2786814]
    [67] Rahman F, Posnett D, Herraiz I, Devanbu P. Sample size vs. Bias in defect prediction. In:Proc. of the 9th Joint Meeting on Foundations of Software Engineering. 2013. 147−157.[doi:10.1145/2491411.2491418]
    [68] Bennin KE, Keung J, Phannachitta P, Monden A, Mensah S. Mahakil:Diversity based oversampling approach to alleviate the class imbalance issue in software defect prediction. In:Proc. of the 40th Int'l Conf. on Software Engineering. 2018. 699−699.[doi:10.1145/3180155.3182520]
    [69] Wang S, Liu TY, Tan L. Automatically learning semantic features for defect prediction. In:Proc. of the 38th Int'l Conf. on Software Engineering. 2016. 297−308.[doi:10.1145/2884781.2884804]
    [70] Tantithamthavorn C, McIntosh S, Hassan AE, Matsumoto K. Automated parameter optimization of classification techniques for defect prediction models. In:Proc. of the 38th Int'l Conf. on Software Engineering. 2016. 321−332.[doi:10.1145/2884781.2884857]
    [71] Zimmermann T, Nagappan N. Predicting defects using network analysis on dependency graphs. In:Proc. of the 30th Int'l Conf. on Software Engineering. 2008. 531−540.[doi:10.1145/1368088.1368161]
    [72] Tabassum S, Minku LL, Feng D, Cabral GG, Song L. An investigation of cross-project learning in online just-in-time software defect prediction. In:Proc. of the 42nd IEEE/ACM Int'l Conf. on Software Engineering (ICSE). 2020. 554−565.[doi:10.1145/3377811.3380403]
    [73] Agrawal A, Menzies T. Is "better data" better than "better data miners"? In:Proc. of the 40th IEEE/ACM Int'l Conf. on Software Engineering (ICSE). 2018. 1050−1061.[doi:10.1145/3180155.3180197]
    [74] Zhang F, Zheng Q, Zou Y, Hassan AE. Cross-project defect prediction using a connectivity-based unsupervised classifier. In:Proc. of the 38th IEEE/ACM Int'l Conf. on Software Engineering (ICSE). 2016. 309−320.[doi:10.1145/2884781.2884839]
    [75] Tantithamthavorn C, McIntosh S, Hassan AE, Ihara A, Matsumoto K. The impact of mislabelling on the performance and interpretation of defect prediction models. In:Proc. of the 37th IEEE/ACM IEEE Int'l Conf. on Software Engineering. 2015. 812−823.[doi:10.1109/ICSE.2015.93]
    [76] Tan M, Tan L, Dara S, Mayeux C. Online defect prediction for imbalanced data. In:Proc. of the 37th IEEE/ACM IEEE Int'l Conf. on Software Engineering. 2015. 99−108.[doi:10.1109/ICSE.2015.139]
    [77] Peters F, Menzies T, Layman L. Lace2:Better privacy-preserving data sharing for cross project defect prediction. In:Proc. of the 37th IEEE/ACM IEEE Int'l Conf. on Software Engineering. 2015. 801−811.[doi:10.1109/ICSE.2015.92]
    [78] Ghotra B, McIntosh S, Hassan AE. Revisiting the impact of classification techniques on the performance of defect prediction models. In:Proc. of the 37th IEEE/ACM IEEE Int'l Conf. on Software Engineering. 2015. 789−800.[doi:10.1109/ICSE.2015.91]
    [79] Caglayan B, Turhan B, Bener A, Habayeb M, Miransky A, Cialini E. Merits of organizational metrics in defect prediction:An industrial replication. In:Proc. of the 37th IEEE/ACM IEEE Int'l Conf. on Software Engineering. 2015. 89−98.[doi:10.1109/ICSE.2015.138]
    [80] Peters F, Menzies T. Privacy and utility for defect prediction:Experiments with morph. In:Proc. of the 34th Int'l Conf. on Software Engineering (ICSE). 2012. 189−199.[doi:10.1109/ICSE.2012.6227194]
    [81] Hata H, Mizuno O, Kikuno T. Bug prediction based on fine-grained module histories. In:Proc. of the 34th Int'l Conf. on Software Engineering (ICSE). 2012. 200−210.[doi:10.1109/ICSE.2012.6227193]
    [82] Kim S, Zhang HY, Wu RX, Gong L. Dealing with noise in defect prediction. In:Proc. of the 33rd Int'l Conf. on Software Engineering (ICSE). 2011. 481−490.[doi:10.1145/1985793.1985859]
    [83] Kim S, Zimmermann T, Whitehead Jr EJ, Zeller A. Predicting faults from cached history. In:Proc. of the 29th Int'l Conf. on Software Engineering (ICSE 2007). 2007. 489−498.[doi:10.1109/ICSE.2007.66]
    [84] Lu H, Cukic B, Culp M. Software defect prediction using semi-supervised learning with dimension reduction. In:Proc. of the 27th IEEE/ACM Int'l Conf. on Automated Software Engineering. 2012. 314−317.[doi:10.1145/2351676.2351734]
    [85] Zhang ZW, Jing XY, Wang TJ. Label propagation based semi-supervised learning for software defect prediction. Automated Software Engineering, 2017, 24(1):47-69.[doi:10.1007/s10515-016-0194-x]
    [86] Li M, Zhang H, Wu R, Zhou ZH. Sample-based software defect prediction with active and semi-supervised learning. Automated Software Engineering, 2012, 19(2):201-230.[doi:10.1007/s10515-011-0092-1]
    [87] Yan M, Xia X, Fan Y, Lo D, Hassan AE, Zhang X. Effort-aware just-in-time defect identification in practice:A case study at alibaba. In:Proc. of the Association for Computing Machinery. 2020. 1308−1319.[doi:10.1145/3368089.3417048]
    [88] Kamei Y, Shihab E, Adams B, Hassan AE, Mockus A, Sinha A, Ubayashi N. A large-scale empirical study of just-in-time quality assurance. IEEE Trans. on Software Engineering, 2013, 39(6):757-773.[doi:10.1109/TSE.2012.70]
    [89] Jiarpakdee J, Tantithamthavorn CK, Grundy J. Practitioners' perceptions of the goals and visual explanations of defect prediction models. In:Proc. of the 18th IEEE/ACM Int'l Conf. on Mining Software Repositories (MSR). 2021. 432−443.[doi:10.1109/MSR52588.2021.00055]
    [90] Chapman M, Callis P, Jackson W. Metrics data program. NASA Ⅳ and Ⅴ Facility, 2004. http://mdp.ivv.nasa.gov
    [91] Cukic B. Guest editor's introduction:The promise of public software engineering data repositories. IEEE Software, 2005, 22(6):20-22.[doi:10.1109/MS.2005.153]
    [92] Shirabad JS, Menzies TJ. The promise repository of software engineering databases. Technical Report, School of Information Technology and Engineering, University of Ottawa, 2005. 24
    [93] Petrić J, Bowes D, Hall T, Christianson B, Baddoo N. The jinx on the NASA software defect data sets. In:Proc. of the 20th Int'l Conf. on Evaluation and Assessment in Software Engineering. 2016. Article 13.[doi:10.1145/2915970.2916007]
    [94] Zimmermann T, Premraj R, Zeller A. Predicting defects for eclipse. In:Proc. of the 3rd Int'l Workshop on Predictor Models in Software Engineering (PROMISE 2007:ICSE Workshops 2007). 2007. 9.[doi:10.1109/PROMISE.2007.10]
    [95] Moser R, Pedrycz W, Succi G. A comparative analysis of the efficiency of change metrics and static code attributes for defect prediction. In:Proc. of the 30th Int'l Conf. on Software Engineering. 2008. 181−190.[doi:10.1145/1368088.1368114]
    [96] Kim S, Whitehead EJ, Zhang Y. Classifying software changes:Clean or buggy? IEEE Trans. on Software Engineering, 2008, 34(2):181-196.[doi:10.1109/TSE.2007.70773]
    [97] Turhan B, Menzies T, Bener AB, Di Stefano J. On the relative value of cross-company and within-company data for defect prediction. Empirical Software Engineering, 2009, 14(5):540-578.
    [98] Ambros MD, Lanza M, Robbes R. An extensive comparison of bug prediction approaches. In:Proc. of the 7th IEEE Working Conf. on Mining Software Repositories (MSR 2010). 2010. 31−41.[doi:10.1109/MSR.2010.5463279]
    [99] Jureczko M, Madeyski L. Towards identifying software project clusters with regard to defect prediction. In:Proc. of the 6th Int'l Conf. on Predictive Models in Software Engineering. 2010. 1−10.[doi:10.1145/1868328.1868342]
    [100] Jureczko M, Spinellis D. Using object-oriented design metrics to predict software defects. In:Proc. of the Models and Methods of System Dependability. Oficyna Wydawnicza Politechniki Wrocławskiej, 2010. 69-81.
    [101] Wu RX, Zhang HY, Kim S, Cheung SC. Relink:Recovering links between bugs and changes. In:Proc. of the 19th ACM SIGSOFT Symp. and the 13th European Conf. on Foundations of Software Engineering. 2011. 15−25.[doi:10.1145/2025113.2025120]
    [102] Bissyandé TF, Thung F, Wang S, Lo D, Jiang L, Reveillere L. Empirical evaluation of bug linking. In:Proc. of the 17th European Conf. on Software Maintenance and Reengineering. 2013. 89−98.[doi:10.1109/CSMR.2013.19]
    [103] Herzig K, Just S, Rau A, Zeller A. Predicting defects using change genealogies. In:Proc. of the 24th IEEE Int'l Symp. on Software Reliability Engineering (ISSRE). 2013. 118−127.[doi:10.1109/ISSRE.2013.6698911]
    [104] Hall T, Zhang M, Bowes D, Sun Y. Some code smells have a significant but small effect on faults. ACM Trans. on Software Engineering and Methodology (TOSEM), 2014, 23(4):1-39.[doi:10.1145/2629648]
    [105] Tóth Z, Gyimesi P, Ferenc R. A public bug database of github projects and its application in bug prediction. In:Proc. of the Int'l Conf. on Computational Science and Its Applications. 2016. 625−638.[doi:10.1007/978-3-319-42089-9_44]
    [106] Shippey T, Hall T, Counsell S, Bowes D. So you need more method level datasets for your software defect prediction? Voilà! In:Proc. of the 10th ACM/IEEE Int'l Symp. on Empirical Software Engineering and Measurement. 2016. 1−6.[doi:10.1145/2961111.2962620]
    [107] Ferenc R, Tóth Z, Ladányi G, Siket I, Gyimóthy T. A public unified bug dataset for Java. In:Proc. of the 14th Int'l Conf. on Predictive Models and Data Analytics in Software Engineering. 2018. 12−21.[doi:10.1145/3273934.3273936]
    [108] Gray D, Bowes D, Davey N, Sun Y, Christianson B. The misuse of the NASA metrics data program data sets for automated software defect prediction. In:Proc. of the 15th Annual Conf. on Evaluation & Assessment in Software Engineering (EASE 2011). 2011. 96−103.[doi:10.1049/ic.2011.0012]
    [109] Herzig K, Just S, Zeller A. It's not a bug, it's a feature:How misclassification impacts bug prediction. In:Proc. of the 35th Int'l Conf. on Software Engineering (ICSE). 2013. 392−401.[doi:10.1109/ICSE.2013.6606585]
    [110] Liu S, Guo Z, Li Y, Wang C, Chen L, Sun Z, Zhou Y, Xu B. Inconsistent defect labels:Essence, causes, and influence. IEEE Trans. on Software Engineering, 2022.[doi:10.1109/TSE.2022.3156787]
    [111] Mende T. Replication of defect prediction studies:Problems, pitfalls and recommendations. In:Proc. of the 6th Int'l Conf. on Predictive Models in Software Engineering. 2010. 1−10.[doi:10.1145/1868328.1868336]
    [112] Yang Y, Yang J, Qian H. Defect prediction by using cluster ensembles. In:Proc. of the 10th Int'l Conf. on Advanced Computational Intelligence (ICACI). 2018. 631−636.[doi:10.1109/ICACI.2018.8377533]
    [113] Lewis DD. Naive (Bayes) at forty:The independence assumption in information retrieval. In:Proc. of the European Conf. on Machine Learning. 1998. 4−15.[doi:10.1007/BFb0026666]
    [114] Breiman L. Random forests. Machine Learning, 2001, 45(1):5-32.
    [115] Quinlan JR. Simplifying decision trees. Int'l Journal of Man-Machine Studies, 1987, 27(3):221-234.
    [116] Suykens JA, Vandewalle J. Least squares support vector machine classifiers. Neural Processing Letters, 1999, 9(3):293-300.[doi:10.1023/A:1018628609742]
    [117] Hosmer Jr DW, Lemeshow S, Sturdivant RX. Applied Logistic Regression. Vol. 398, John Wiley & Sons, 2013.
    [118] Cover T, Hart P. Nearest neighbor pattern classification. IEEE Trans. on Information Theory, 1967, 13(1):21-27.[doi:10.1109/TIT.1967.1053964]
    [119] Hagan MT, Demuth HB, Beale M. Neural Network Design. PWS Publishing Co., 1997.
    [120] Freund Y, Mason L. The alternating decision tree learning algorithm. In:Proc. of the ICML. 1999. 124-133.
    [121] Friedman N, Geiger D, Goldszmidt M. Bayesian network classifiers. Machine Learning, 1997, 29(2):131-163.
    [122] Mathuria M. Decision tree analysis on j48 algorithm for data mining. Int'l Journal of Advanced Research in Computer Science and Soft-ware Engineering, 2013, 3(6):
    [123] Catal C, Sevim U, Diri B. Clustering and metrics thresholds based software fault prediction of unlabeled program modules. In:Proc. of the 6th Int'l Conf. on Information Technology:New Generations. 2009. 199-204.[doi:10.1109/ITNG.2009.12]
    [124] Zhong S, Khoshgoftaar TM, Seliya N. Unsupervised learning for expert-based software quality estimation. In:Proc. of the HASE. 2004. 149-155.[doi:10.1109/HASE.2004.1281739]
    [125] Landwehr N, Hall M, Frank E. Logistic model trees. Machine Learning, 2005, 59(1-2):161-205.
    [126] Quinlan JR. Improved use of continuous attributes in c4. 5. Journal of Artificial Intelligence Research, 1996, 4:77-90.
    [127] Cruz AEC, Ochimizu K. Towards logistic regression models for predicting fault-prone code across software projects. In:Proc. of the 3rd Int'l Symp. on Empirical Software Engineering and Measurement. 2009. 460-463.[doi:10.1109/ESEM.2009. 5316002]
    [128] Menzies T, Butcher A, Marcus A, Zimmermann T, Cok D. Local vs. global models for effort estimation and defect prediction. In:Proc. of the 26th IEEE/ACM Int'l Conf. on Automated Software Engineering (ASE 2011). 2011. 343-351.[doi:10.1109/ASE. 2011.6100072]
    [129] Watanabe S, Kaiya H, Kaijiri K. Adapting a fault prediction model to allow inter languagereuse. In:Proc. of the 4th Int'l Workshop on Predictor Models in Software Engineering. 2008. 19-24.[doi:10.1145/1370788.1370794]
    [130] Menzies T, Milton Z, Turhan B, Cukic B, Jiang Y, Bener A. Defect prediction from static code features:Current results, limitations, new approaches. Automated Software Engineering, 2010, 17(4):375-407.[doi:10.1007/s10515-010-0069-5]
    [131] Nam J, Pan SJ, Kim S. Transfer defect learning. In:Proc. of the 35th Int'l Conf. on Software Engineering (ICSE). 2013. 382-391.[doi:10.1109/ICSE.2013.6606584]
    [132] Gong L, Jiang SJ, Wang RC, Jiang L. Empirical evaluation of the impact of class overlap on software defect prediction. In:Proc. of the 34th IEEE/ACM Int'l Conf. on Automated Software Engineering (ASE). 2019. 698-709.[doi:10.1109/ASE.2019.00071]
    [133] Herbold S, Trautsch A, Grabowski J. Correction of "a comparative study to benchmark cross-project defect prediction approaches". IEEE Trans. on Software Engineering, 2018, 45(6):632-636.[doi:10.1109/TSE.2018.2790413]
    [134] Amasaki S, Kawata K, Yokogawa T. Improving cross-project defect prediction methods with data simplification. In:Proc. of the 41st Euromicro Conf. on Software Engineering and Advanced Applications. 2015. 96-103.[doi:10.1109/SEAA.2015.25]
    [135] Akiyama F. An example of software system debugging. In:Proc. of the IFIP Congress (1). 1971. 353-359.
    [136] Koru AG, Zhang DS, El Emam K, Liu HF. An investigation into the functional form of the size-defect relationship for software modules. IEEE Trans. on Software Engineering, 2008, 35(2):293-304.[doi:10.1109/TSE.2008.90]
    [137] Syer MD, Nagappan M, Adams B, Hassan AE. Replicating and re-evaluating the theory of relative defect-proneness. IEEE Trans. on Software Engineering, 2014, 41(2):176-197.[doi:10.1109/TSE.2014.2361131]
    [138] Koru G, Liu HF, Zhang DS, El Emam K. Testing the theory of relative defect proneness for closed-source software. Empirical Software Engineering, 2010, 15(6):577-598.[doi:10.1007/s10664-010-9132-x]
    [139] Koru AG, El Emam K, Zhang DS, Liu HF, Mathew D. Theory of relative defect proneness. Empirical Software Engineering, 2008, 13(5):473-498.[doi:10.1007/s10664-008-9080-x]
    [140] Zhou YM, Xu BW, Leung H. On the ability of complexity metrics to predict fault-prone classes in object-oriented systems. Journal of Systems and Software, 2010, 83(4):660-674.[doi:10.1016/j.jss.2009.11.704]
    [141] Catal C, Sevim U, Diri B. Metrics-driven software quality prediction without prior fault data. In:Proc. of the Int'l Conf. in Electronic Engineering and Computing Technology; World Congress on Engineering; WCE 2009. Springer, 2010. 189-199.[doi:10.1007/978-90-481-8776-8_17]
    [142] Jiang Y, Li M, Zhou ZH. Software defect detection with rocus. Journal of Computer Science and Technology, 2011, 26(2):328-342.[doi:10.1007/s11390-011-9439-0]
    [143] Culp M, Michailidis G. An iterative algorithm for extending learners to a semi-supervised setting. Journal of Computational and Graphical Statistics, 2008, 17(3):545-571.[doi:10.1198/106186008X344748]
    [144] Lu H, Cukic B, Culp M. An iterative semi-supervised approach to software fault prediction. In:Proc. of the 7th Int'l Conf. on Predictive Models in Software Engineering. 2011. 1-10.[doi:10.1145/2020390.2020405]
    [145] Li M, Zhou ZH. Improve computer-aided diagnosis with machine learning techniques using undiagnosed samples. IEEE Trans. on Systems, Man, and Cybernetics-Part A:Systems and Humans, 2007, 37(6):1088-1098.[doi:10.1109/TSMCA.2007.904745]
    [146] Chapelle O, Zien A. Semi-supervised classification by low density separation. In:Proc. of the Int'l Workshop on Artificial Intelligence and Statistics. 2005. 57-64.
    [147] Joachims T. Making large-scale SVM learning practical. In:Proc. of the Advances in Kernel Methods-support Vector Learning. 1999. http://svmlight.joachims.org/
    [148] Seliya N, Khoshgoftaar TM, Zhong S. Semi-supervised learning for software quality estimation. In:Proc. of the 16th IEEE Int'l Conf. on Tools with Artificial Intelligence. 2004. 183-190.[doi:10.1109/ICTAI.2004.108]
    [149] Zhu X, Ghahramani Z, Lafferty JD. Semi-supervised learning using gaussian fields and harmonic functions. In:Proc. of the 20th Int'l Conf. on Machine Learning (ICML 2003). 2003. 912-919.
    [150] He Q, Shen B, Chen Y. Software defect prediction using semi-supervised learning with change burst information. In:Proc. of the 40th IEEE Annual Computer Software and Applications Conf. (COMPSAC). 2016. 113-122.[doi:10.1109/COMPSAC.2016.193]
    [151] Foyzur R, Premkumar D. How, and why, process metrics are better. In:Proc. of the 35th Int'l Conf. on Software Engineering (ICSE). 2013. 432-441.[doi:10.1109/ICSE.2013.6606589]
    [152] Raimund M, Witold P, Giancarlo S. A comparative analysis of the efficiency of change metrics and static code attributes for defect prediction. In:Proc. of the Association for Computing Machinery. 2008. 181-190.[doi:10.1145/1368088.1368114]
    [153] Ohlsson N, Alberg H. Predicting fault-prone software modules in telephone switches. IEEE Trans. on Software Engineering, 1996, 22(12):886-894.[doi:10.1109/32.553637]
    [154] Peter AW, Caitlin AO, Stephen GM. A baseline model for software effort estimation. ACM Trans. on Software Engineering and Methodology, 2015, 24(3):Article 20.[doi:10.1145/2738037]
    附中文参考文献:
    [21] 王青, 伍书剑, 李明树. 软件缺陷预测技术. 软件学报, 2008, 19(7):1565-1580. http://www.jos.org.cn/1000-9825/19/1565.htm[doi:10.3724/SP.J.1001.2008.01565]
    [27] 陈翔, 顾庆, 刘望舒, 刘树龙, 倪超. 静态软件缺陷预测方法研究. 软件学报, 2016, 27(1):1-25. http://www.jos.org.cn/1000-9825/4923.htm[doi:10.13328/j.cnki.jos.004923]
    [31] 蔡亮, 范元瑞, 鄢萌, 夏鑫. 即时软件缺陷预测研究进展. 软件学报, 2019, 30(5):1288-1307. http://www.jos.org.cn/1000-9825/5713.htm[doi:10.13328/j.cnki.jos.005713]
    [32] 宫丽娜, 姜淑娟, 姜丽. 软件缺陷预测技术研究进展. 软件学报, 2019, 30(10):3090-3114. http://www.jos.org.cn/1000-9825/5790.htm[doi:10.13328/j.cnki.jos.005790]
    Cited by
    Comments
    Comments
    分享到微博
    Submit
Get Citation

刘旭同,郭肇强,刘释然,张鹏,卢红敏,周毓明.软件缺陷预测模型间的比较实验: 问题、进展与挑战.软件学报,2023,34(2):582-624

Copy
Share
Article Metrics
  • Abstract:
  • PDF:
  • HTML:
  • Cited by:
History
  • Received:September 16,2021
  • Revised:March 11,2022
  • Online: July 22,2022
  • Published: February 06,2023
You are the first2044853Visitors
Copyright: Institute of Software, Chinese Academy of Sciences Beijing ICP No. 05046678-4
Address:4# South Fourth Street, Zhong Guan Cun, Beijing 100190,Postal Code:100190
Phone:010-62562563 Fax:010-62562533 Email:jos@iscas.ac.cn
Technical Support:Beijing Qinyun Technology Development Co., Ltd.

Beijing Public Network Security No. 11040202500063