Abstract
It is important to be able to predict if a module or a class or a method is faulty, or not. Such predictions can be used to target improvement efforts to those modules or classes that need it the most. We investigated the classification process (deciding if an element is faulty or not) in which the set of software metrics is used and examined several data mining algorithms. We conducted an experiment in which ten open source projects were evaluated by ten chosen metrics. The data concerning defects were extracted from the repository of the control version system. For each project two versions of code were used in the classification process. In this study the results of two algorithms i.e. k- NN and decision trees used in the classification process are presented.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Weyuker, E., Ostrand, T., Bell, R.: Adapting a Fault Prediction Model to Allow Widespread Usage. In: Proc. of the Int. Workshop on Predictive Models in Soft. Eng., PROMISE 2008 (Leipzig, Germany, May 12-13) (2008)
Weyuker, E., Ostrand, T., Bell, R.: Do too many cooks spoil the broth? Using the number of developers to enhance defect prediction models. Empirical Soft. Eng. 13(5), 539–559 (2008)
D’Ambros, M., Robbes, R.: An Extensive Comparison of Bug Prediction Approaches, http://inf.unisi.ch/faculty/lanza/Downloads/DAmb2010c.pdf (access date: January 2015)
D’Ambros, M., Lanza, M., Robbes, R.: Evaluating Defect Prediction Approaches: A Benchmark and an Extensive Comparison. Empirical Softw. Eng. 17(4-5), 531–577 (2012)
Jureczko, M., Spinellis, D.: Using Object-Oriented Design Metrics to Predict Software Defects. In: Models and Methodology of System Dependability, pp. 69–81. Oficyna Wydawnicza Politechniki Wroclawskiej, Wroclaw (2010)
Jureczko, M., Madeyski, L.: Towards identifying software project clusters with regard to defect prediction. In: Menzies, T., Koru, G. (eds.) PROMISE, p. 9. ACM (2010)
Bansiya, J., Davis, C.G.: A hierarchical model for object-oriented design quality assessment. IEEE Trans. Softw. Eng. 28(1), 4–17 (2002)
Catal, C., Diri, B.: Review: A systematic review of software fault prediction studies. Expert Syst. Appl. 36(4), 7346–7354 (2009)
Nagappan, N., Ball, T.: Use of relative code churn measures to predict system defect density. In: Proc. 27th Int. Conf. on Soft. Eng., pp. 284–292 (2005)
Graves, T.L., Karr, A.F., Marron, J.S., Siy, H.: Predicting fault incidence using software change history. IEEE Trans. Softw. Eng. 26(7), 653–661 (2000)
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. Conf. on Soft. Eng., ICSE 2008, New York, NY, USA, pp. 181–190 (2008)
Hassan, A.E.: Predicting faults using the complexity of code changes. In: Proc. of the 31st Int. Conf. on Soft. Eng., ICSE 2009, Washington, DC, USA, pp. 78–88 (2009)
Hassan, A.E., Holt, R.C.: The top ten list: Dynamic fault prediction. In: Proc. of the 21st IEEE Int. Conf. on Soft. Maintenance, ICSM 2005, pp. 263–272 (2005)
Kim, S., Zimmermann, T., Whitehead Jr., E.J., Zeller, A.: Predicting faults from cached history. In: Proc. of the 29th Int. Conf. on Soft. Eng., ICSE 2007, pp. 489–498 (2007)
Elish, M.O., Al-Yafei, A.H., Al-Mulhem, M.: Empirical comparison of three metrics suites for fault prediction in packages of object-oriented systems: A case study of eclipse. Adv. Eng. Softw. 42(10), 852–859 (2011)
Pinzger, M., Nagappan, N., Murphy, B.: Can developer-module networks predict failures? In: Proc. of the 16th ACM SIGSOFT Int. Symp. on Found. of Soft. Eng., pp. 2–12 (2008)
Zimmermann, T., Nagappan, N.: Predicting defects using network analysis on dependency graphs. In: Proc. of the 30th Int. Conf. on Soft. Eng., pp. 531–540 (2008)
Shin, Y., Bell, R., Ostrand, T., Weyuker, E.: Does calling structure information improve the accuracy of fault prediction? In: 6th IEEE Int. Working Conf. on Mining Soft. Repositories, pp. 61–70 (2009)
Mende, T., Koschke, R.: Revisiting the evaluation of defect prediction models. In: Proc. of the 5th Int. Conf. on Predictor Models in Soft. Eng., PROMISE 2009, pp. 7:1–7:10 (2009)
Lessmann, S., Baesens, B., Mues, C., Pietsch, S.: Benchmarking classification models for software defect prediction: A proposed framework and novel findings. IEEE Trans. on Soft. Eng. 34(4), 485–496 (2008)
Singh, Y., Kaur, A., Malhotra, R.: Predicting software fault proneness model using neural network. In: Jedlitschka, A., Salo, O. (eds.) PROFES 2008. LNCS, vol. 5089, pp. 204–214. Springer, Heidelberg (2008)
Gyimothy, T., Ferenc, R., Siket, I.: Empirical validation of object-oriented metrics on open source software for fault prediction. IEEE Trans. on Soft. Eng. 31(10), 897–910 (2005)
Chidamber, S.R., Kemerer, C.F.: A metrics suite for object oriented design. IEEE Trans. on Soft. Eng. 20(6), 476–492 (1994)
Martin, R.: OO Design Quality Metrics - An Analysis of Dependencies. In: Proc. of Workshop Pragmatic and Theo. Directions in Object-Oriented Soft. Metrics, OOPSLA 1994 (1994)
Henderson-Sellers, B.: Object-Oriented Metrics, Measures of Complexity. Prentice Hall (1996)
Witten, I.H., Frank, E.: Data Mining: Practical Machine Learning Tools and Techniques. Elsevier (2005) ISBN-13: 978-0-12-088407-0
Rokach, L., Maimon, O.: Data mining with decision trees: theory and applications. World Scientific Pub. Co. Inc. (2008) ISBN 978-9812771711
Promise: http://promise.site.uottawa.ca/SERepository/datasets-page.html (access date: January 2015)
Stępień, A.: Fault prediction with object metrics (in Polish). MSc thesis to appear, Institute of Computer Science (2015)
Git: http://git-scm.com (access date: January 2015)
Apache Lucene: http://lucene.apache.org (access date: January 2015)
Apache Hadoop: http://hadoop.apache.org (access date: January 2015)
Apache Tika: http://tika.apache.org (access date: January 2015)
MyBatis: http://mybatis.github.io/mybatis-3 (access date: January 2015)
Apache Commons Lang, http://commons.apache.org/proper/commons-lang (access date: January 2015)
Hibernate: http://hibernate.org (access date: January 2015)
Jsoup: http://jsoup.org (access date: January 2015)
Apache Velocity: http://velocity.apache.org (access date: January 2015)
Elasticsearch: http://www.elasticsearch.org (access date: January 2015)
Apache Zookeeper: http://zookeeper.apache.org/ (access date: January 2015)
Chawla, N.V., Bowyer, K.W., Hall, L.O., Kegelmeyer, P.: Smote: Synthetic minority over-sampling technique. J. Artif. Int. Res. 16(1), 321–357 (2002)
Tang, M.-H., Kao, M.-H., Chen, M.-H.: An Empirical Study on Object-Oriented Metrics. In: Proc. of te Soft. Metrics Symp., pp. 242–249 (1999)
Beygelzimer, A., Kakade, S., Langford, J.: Cover Trees for Nearest Neighbor. In: Proc. Int. Conf. on Machine Learning (ICML), pp. 97–104 (2006), doi:10.1145/1143844.1143857
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2015 Springer International Publishing Switzerland
About this paper
Cite this paper
Bluemke, I., Stepień, A. (2015). Experiment on Defect Prediction. In: Zamojski, W., Mazurkiewicz, J., Sugier, J., Walkowiak, T., Kacprzyk, J. (eds) Theory and Engineering of Complex Systems and Dependability. DepCoS-RELCOMEX 2015. Advances in Intelligent Systems and Computing, vol 365. Springer, Cham. https://doi.org/10.1007/978-3-319-19216-1_3
Download citation
DOI: https://doi.org/10.1007/978-3-319-19216-1_3
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-19215-4
Online ISBN: 978-3-319-19216-1
eBook Packages: EngineeringEngineering (R0)