Defect, defect, defect: defect prediction 2.0

作者: Sunghun Kim

DOI: 10.1145/2365324.2365325

关键词:

摘要: Defect prediction has been a very active research area in software engineering [6--8, 11, 13, 16, 19, 20].In 1971, Akiyama proposed one of the earliest defect models using Lines Code (LOC) [1]: "Defect = 4.86 + 0.018LOC."Since then, many effective new and metrics have proposed. For models, typical machine learners regression algorithms such as Naive Bayes, Decision Tree, Linear Regression are widely used. On other hand, Kim et al. cache-based model bug occurrence properties [9]. Hassan change entropy to effectively predict defects [6]. Recently, Bettenburg Multivariate Adaptive Splines improve by learning from local global together [4].Besides LOC, for Among them, source code history used yield reasonable accuracy. example, Basili [3] Chidamber Kemerer metrics, Ohlsson [14] McCabe's cyclomatic complexity prediction. Moser [12] number revisions, authors, past fixes, age file predictors. micro interaction (MIMs) [10] quality measures [15] proposed.However, there is much room 2.0. First all, understanding actual causes necessary. Without we may reach nonsensical conclusions results [18]. Many proposed, but successful application cases practice scarcely reported. To be more attractive developers practice, it desirable finer granularity levels line or even keyword level. Note that static finders FindBugs [2] can identify potential bugs level, find them useful practice. Dealing with noise data become an important issue. Bird identified non-neglectable [5]. This poor and/or meaningless results. Cross-prediction highly desirable: projects limited training data, necessary learn sufficient projects, apply those projects. However, Zimmermann [21] cross-project challenging problem. Turhan [17] analyzed Cross-Company (CC) Within-Company (WC) prediction, confirmed reuse CC directly companies' software.Overall, interesting promising area. still challenges problems addressed. Hopefully, this discussion calls solutions ideas address these challenges.

参考文章(20)
Fumio Akiyama, An Example of Software System Debugging. ifip congress. pp. 353- 359 ,(1971)
Thomas Zimmermann, Nachiappan Nagappan, Harald Gall, Emanuel Giger, Brendan Murphy, Cross-project defect prediction: a large scale experiment on data vs. domain vs. process foundations of software engineering. pp. 91- 100 ,(2009) , 10.1145/1595696.1595713
Nicolas Bettenburg, Meiyappan Nagappan, Ahmed E. Hassan, Think locally, act globally: improving defect and effort prediction models mining software repositories. pp. 60- 69 ,(2012) , 10.5555/2664446.2664455
Taek Lee, Jaechang Nam, DongGyun Han, Sunghun Kim, Hoh Peter In, Micro interaction metrics for defect prediction foundations of software engineering. pp. 311- 321 ,(2011) , 10.1145/2025113.2025156
Burak Turhan, Tim Menzies, Ayşe B. Bener, Justin Di Stefano, On the relative value of cross-company and within-company data for defect prediction Empirical Software Engineering. ,vol. 14, pp. 540- 578 ,(2009) , 10.1007/S10664-008-9103-7
Nachiappan Nagappan, Thomas Ball, Andreas Zeller, Mining metrics to predict component failures Proceeding of the 28th international conference on Software engineering - ICSE '06. pp. 452- 461 ,(2006) , 10.1145/1134285.1134349
N. Ohlsson, H. Alberg, Predicting fault-prone software modules in telephone switches IEEE Transactions on Software Engineering. ,vol. 22, pp. 886- 894 ,(1996) , 10.1109/32.553637
Andreas Zeller, Thomas Zimmermann, Christian Bird, Failure is a four-letter word Proceedings of the 7th International Conference on Predictive Models in Software Engineering - Promise '11. pp. 5- ,(2011) , 10.1145/2020390.2020395
V.R. Basili, L.C. Briand, W.L. Melo, A validation of object-oriented design metrics as quality indicators IEEE Transactions on Software Engineering. ,vol. 22, pp. 751- 761 ,(1996) , 10.1109/32.544352
Ahmet Okutan, Olcay Taner Yıldız, Software defect prediction using Bayesian networks Empirical Software Engineering. ,vol. 19, pp. 154- 181 ,(2014) , 10.1007/S10664-012-9218-8