Software defect prediction: do different classifiers find the same defects?
Tóm tắt
Từ khóa
Tài liệu tham khảo
Arisholm, E., & Briand, L.C. (2007). Fuglerud M Data mining techniques for building fault-proneness models in telecom java software. In Software Reliability, 2007. ISSRE ’07. The 18th IEEE International Symposium on, pp. 215 –224.
Arisholm, E., Briand, L.C., & Johannessen, E.B (2010). A systematic and comprehensive investigation of methods to build and evaluate fault prediction models. Journal of Systems and Software, 83(1), 2–17.
Bell, R., Ostrand, T., & Weyuker, E. (2006). Looking for bugs in all the right places. In Proceedings of the 2006 international symposium on Software testing and analysis, ACM, pp. 61–72.
Bibi, S., Tsoumakas, G., Stamelos, I., & Vlahvas, I. (2006). Software defect prediction using regression via classification. In IEEE international conference on computer systems and applications.
Bird, C., Bachmann, A., Aune, E., Duffy, J., Bernstein, A., Filkov, V., & Devanbu, P. (2009a). Fair and balanced?: bias in bug-fix datasets. In Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, ACM, New York, NY, USA, ESEC/FSE ’09, pp. 121–130.
Bird, C., Nagappan, N., Gall, H., Murphy, B., & Devanbu, P. (2009b). Putting it all together: Using socio-technical networks to predict failures. In 20th International Symposium on Software Reliability Engineering, IEEE, pp. 109–119.
Boetticher, G. (2006). Advanced machine learner applications in software engineering, Idea Group Publishing, Hershey, PA, USA, chap Improving credibility of machine learner models in software engineering.
Bowes, D., Hall, T., & Gray, D. (2013). DConfusion: a technique to allow cross study performance evaluation of fault prediction studies. Automated Software Engineering, 1–27. doi: 10.1007/s10515-013-0129-8 .
Bowes, D., Hall, T., & Petrić, J (2015). Different classifiers find different defects although with different level of consistency. In Proceedings of the 11th International Conference on Predictive Models and Data Analytics in Software Engineering, PROMISE ’15, pp. 3:1–3:10. doi: 10.1145/2810146.2810149 .
Briand, L., Melo, W., & Wust, J. (2002). Assessing the applicability of fault-proneness models across object-oriented software projects. IEEE Transactions on Software Engineering, 28(7), 706–720.
Catal, C., & Diri, B. (2009). A systematic review of software fault prediction studies. Expert Systems with Applications, 36(4), 7346–7354.
Chawla, N.V., Japkowicz, N., & Kotcz, A. (2004). Editorial: special issue on learning from imbalanced data sets. SIGKDD Explorations, 6(1), 1–6.
Chen, H., & Yao, X. (2009). Regularized negative correlation learning for neural network ensembles. IEEE Transactions on Neural Networks, 20(12), 1962–1979.
Chen, W., Wang, Y., Cao, G., Chen, G., & Gu, Q. (2014). A random forest model based classification scheme for neonatal amplitude-integrated eeg. Biomedical engineering online, 13(2), 1.
D’Ambros, M., Lanza, M., & Robbes, R. (2009). On the relationship between change coupling and software defects. In 16th working conference on reverse engineering, 2009. WCRE ’09., pp. 135 –144.
D’Ambros, M., Lanza, M., & Robbes, R. (2012). Evaluating defect prediction approaches: a benchmark and an extensive comparison. Empirical Software Engineering, 17 (4), 531–577. doi: 10.1007/s10664-011-9173-9 .
Dougherty, J., Kohavi, R., & Sahami, M. (1995). Supervised and unsupervised discretization of continuous features. In ICML, pp. 194–202.
Elish, K., & Elish, M. (2008). Predicting defect-prone software modules using support vector machines. Journal of Systems and Software, 81(5), 649–660.
Fayyad, U., Piatetsky-Shapiro, G., & Smyth, P. (1996). From data mining to knowledge discovery in databases. AI magazine, 17(3), 37.
Fenton, N., & Neil, M. (1999). A critique of software defect prediction models. IEEE Transactions on Software Engineering, 25(5), 675–689.
Gao, K., Khoshgoftaar, T.M., & Napolitano, A. (2015). Combining feature subset selection and data sampling for coping with highly imbalanced software data. In Proc. of 27th International Conf. on Software Engineering and Knowledge Engineering, Pittsburgh.
Gray, D. (2013). Software defect prediction using static code metrics : Formulating a methodology. University of Hertfordshire: PhD thesis, Computer Science.
Gray, D., Bowes, D., Davey, N., Sun, Y., & Christianson, B. (2011). The misuse of the NASA metrics data program data sets for automated software defect prediction. In EASE 2011, IET, Durham, UK.
Gray, D., Bowes, D., Davey, N., Sun, Y., & Christianson, B. (2012). Reflections on the NASA MDP data sets. IET Software, 6(6), 549–558.
Hall, M.A., & Holmes, G. (2003). Benchmarking attribute selection techniques for discrete class data mining. IEEE Transactions on Knowledge and Data Engineering, 15(6), 1437–1447.
Hall, T., Beecham, S., Bowes, D., Gray, D., & Counsell, S. (2012). A systematic literature review on fault prediction performance in software engineering. IEEE Transactions on Software Engineering, 38(6), 1276–1304.
Jiang, Y., Lin, J., Cukic, B., & Menzies, T. (2009). Variance analysis in software fault prediction models. In SSRE 2009, 20th International Symposium on Software Reliability Engineering, IEEE Computer Society, Mysuru, Karnataka, India, 16-19 November 2009, pp. 99–108.
Jureczko, M., & Madeyski, L. (2010). Towards identifying software project clusters with regard to defect prediction. In Proceedings of the 6th International Conference on Predictive Models in Software Engineering, ACM, New York, NY, USA, PROMISE ’10, pp. 9:1–9:10. doi: 10.1145/1868328.1868342 .
Kamei, Y., & Shihab, E. (2016). Defect prediction: Accomplishments and future challenges. In 2016 IEEE 23rd international conference on software analysis, evolution, and reengineering (SANER), vol 5, pp. 33–45. doi: 10.1109/SANER.2016.56 .
Khoshgoftaar, T., Yuan, X., Allen, E., Jones, W., & Hudepohl, J. (2002). Uncertain classification of fault-prone software modules. Empirical Software Engineering, 7(4), 297–318.
Khoshgoftaar, T.M., Gao, K., & Seliya, N. (2010). Attribute selection and imbalanced data: Problems in software defect prediction. In 2010 22nd IEEE international conference on tools with artificial intelligence (ICTAI), vol 1, pp. 137–144.
Kim, S., Zhang, H., Wu, R., & Gong, L. (2011). Dealing with noise in defect prediction. In Proceedings of the 33rd International Conference on Software Engineering, ACM, New York, NY, USA, ICSE ’11, pp. 481–490.
Kutlubay, O., Turhan, B., & Bener, A. (2007). A two-step model for defect density estimation. In 33rd EUROMICRO Conference on Software Engineering and Advanced Applications, 2007., pp. 322– 332.
Laradji, I.H., Alshayeb, M., & Ghouti, L. (2015). Software defect prediction using ensemble learning on selected features. Information and Software Technology, 58, 388–402. doi: 10.1016/j.infsof.2014.07.005 . http://www.sciencedirect.com/science/article/pii/S0950584914001591 .
Lessmann, S., Baesens, B., Mues, C., & Pietsch, S. (2008). Benchmarking classification models for software defect prediction: A proposed framework and novel findings. IEEE Transactions on Software Engineering, 34(4), 485–496.
Liebchen, G., & Shepperd, M. (2008). Data sets and data quality in software engineering. In Proceedings of the 4th international workshop on Predictor models in software engineering, ACM, pp. 39–44.
Madeyski, L., & Jureczko, M. (2015). Which process metrics can significantly improve defect prediction models? An empirical study. Software Quality Journal, 23 (3), 393–422. doi: 10.1007/s11219-014-9241-7 .
Malhotra, R. (2015). A systematic review of machine learning techniques for software fault prediction. Appl Soft Comput, 27(C), 504–518. doi: 10.1016/j.asoc.2014.11.023 .
Mende, T. (2011). On the evaluation of defect prediction models. In The 15th CREST Open Workshop.
Mende, T., & Koschke, R. (2010). Effort-aware defect prediction models. In Software Maintenance and Reengineering (CSMR), 2010 14th European Conference on, pp. 107–116.
Menzies, T., Greenwald, J., & Frank, A. (2007). Data mining static code attributes to learn defect predictors. IEEE Transactions on Software Engineering, 33 (1), 2–13.
Menzies, T., Turhan, B., Bener, A., Gay, G., Cukic, B., & Jiang, Y. (2008). Implications of ceiling effects in defect predictors. In Proceedings of the 4th international workshop on Predictor models in software engineering, pp. 47–54.
Menzies, T., Caglayan, B., He, Z., Kocaguneli, E., Krall, J., Peters, F., & Turhan, B. (2012). The promise repository of empirical software engineering data. http://promisedata.googlecode.com .
Minku, L.L., & Yao, X. (2012). Ensembles and locality: Insight on improving software effort estimation. Information and Software Technology.
Minku, L.L., & Yao, X. (2013). Software effort estimation as a multi-objective learning problem. ACM Transactions on Software Engineering and Methodology. to appear.
Mısırlı, AT, Bener, A.B., & Turhan, B. (2011). An industrial case study of classifier ensembles for locating software defects. Software Quality Journal, 19(3), 515–536.
Mizuno, O., & Kikuno, T. (2007). Training on errors experiment to detect fault-prone software modules by spam filter. In Proceedings of the the 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, ACM, New York, NY, USA, ESEC-FSE ’07, pp. 405–414.
Mizuno, O., Ikami, S., Nakaichi, S., & Kikuno, T. (2007). Spam filter based approach for finding fault-prone software modules. In Mining Software Repositories, 2007. ICSE Workshops MSR ’07. Fourth International Workshop on, p 4.
Myrtveit, I., Stensrud, E., & Shepperd, M. (2005). Reliability and validity in comparative studies of software prediction models. IEEE Transactions on Software Engineering, 380–391.
Nagappan, N., Zeller, A., Zimmermann, T., Herzig, K., & Murphy, B. (2010). Change bursts as defect predictors. In Software Reliability Engineering, 2010 IEEE 21st International Symposium on, pp. 309–318.
Ostrand, T., Weyuker, E., & Bell, R. (2010). Programmer-based fault prediction. In Proceedings of the 6th International Conference on Predictive Models in Software Engineering, ACM, pp. 1–10.
Panichella, A., Oliveto, R., & De Lucia, A. (2014). Cross-project defect prediction models: L’union fait la force. In 2014 Software Evolution Week - IEEE Conference on Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), pp. 164–173. doi: 10.1109/CSMR-WCRE.2014.6747166 .
Petrić, J, Bowes, D., Hall, T., Christianson, B., & Baddoo, N. (2016). Building an ensemble for software defect prediction based on diversity selection. In The 10th International Symposium on Empirical Software Engineering and Measurement, ESEM’16, p 10.
Petrić, J, Bowes, D., Hall, T., Christianson, B., & Baddoo, N. (2016). The jinx on the NASA software defect data sets. In Proceedings of the 20th International Conference on Evaluation and Assessment in Software Engineering, ACM, New York, NY, USA, EASE ’16, pp. 13:1–13:5. doi: 10.1145/2915970.2916007 .
Rodriguez, D., Herraiz, I., Harrison, R., Dolado, J., & Riquelme, J.C. (2014). Preliminary comparison of techniques for dealing with imbalance in software defect prediction. In Proceedings of the 18th International Conference on Evaluation and Assessment in Software Engineering, ACM, New York, NY, USA, EASE ’14, pp. 43:1–43:10. doi: 10.1145/2601248.2601294 .
Seiffert, C., Khoshgoftaar, T.M., & Hulse, J.V. (2009). Improving software-quality predictions with data sampling and boosting. IEEE Transactions on Systems, Man, and Cybernetics Part A, 39(6), 1283–1294.
Shepperd, M., & Kadoda, G. (2001). Comparing software prediction techniques using simulation. IEEE Transactions on Software Engineering, 27(11), 1014–1022.
Shepperd, M., Song, Q., Sun, Z., & Mair, C. (2013). Data quality: some comments on the NASA software defect datasets. IEEE Transactions on Software Engineering, 39(9), 1208–1215. doi: 10.1109/TSE.2013.11 .
Shepperd, M., Bowes, D., & Hall, T. (2014). Researcher bias: The use of machine learning in software defect prediction. IEEE Transactions on Software Engineering, 40 (6), 603–616. doi: 10.1109/TSE.2014.2322358 .
Shin, Y., Bell, R.M., Ostrand, T.J., & Weyuker, E.J. (2009). Does calling structure information improve the accuracy of fault prediction? In Godfrey, M.W., & Whitehead, J. (Eds.) Proceedings of the 6th International Working Conference on Mining Software Repositories, IEEE, pp. 61–70.
Shivaji, S., Whitehead, E.J., Akella, R., & Sunghun, K. (2009). Reducing features to improve bug prediction. In Automated Software Engineering, 2009. ASE ’09. 24th IEEE/ACM International Conference on, pp. 600–604.
Soares, C., Brazdil, P.B., & Kuba, P. (2004). A meta-learning method to select the kernel width in support vector regression. Machine learning, 54(3), 195–209.
Sun, Z., Song, Q., & Zhu, X. (2012). Using coding-based ensemble learning to improve software defect prediction. IEEE Transactions on Systems, Man, and Cybernetics, Part C: Applications and Reviews, 42(6), 1806–1817. doi: 10.1109/TSMCC.2012.2226152 .
Turhan, B., Menzies, T., Bener, A.B., & Di Stefano, J. (2009). On the relative value of cross-company and within-company data for defect prediction. Empirical Softw Engg, 14(5), 540–578. doi: 10.1007/s10664-008-9103-7 .
Visa, S., & Ralescu, A. (2004). Fuzzy classifiers for imbalanced, complex classes of varying size. In Information Processing and Management of Uncertainty in Knowledge-Based Systems, pp. 393–400.
Wahono, R. (2015). A systematic literature review of software defect prediction: research trends, datasets, methods and frameworks. Journal of Software Engineering, 1 (1). http://journal.ilmukomputer.org/index.php/jse/article/view/47 .
Witten, I. (2005). Frank E. Data mining: practical machine learning tools and techniques: Morgan Kaufmann.
Wolpert, D.H. (1992). Stacked generalization. Neural Networks, 5(2), 241–259. doi: 10.1016/S0893-6080(05)80023-1 .
Zhang, H. (2009). An investigation of the relationships between lines of code and defects. In Software Maintenance, 2009. ICSM 2009. IEEE International Conference on, pp. 274–283.
Zhou, Y., Xu, B., & Leung, H. (2010). On the ability of complexity metrics to predict fault-prone classes in object-oriented systems. Journal of Systems and Software, 83(4), 660–674.
Zimmermann, T., Nagappan, N., Gall, H., Giger, E., & Murphy, B. (2009). Cross-project defect prediction: a large scale experiment on data vs. domain vs. process. In Proceedings of the the 7th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on The foundations of software engineering, ACM, New York, NY, USA, ESEC/FSE ’09, pp. 91–100.