Abstract
Early detection of fault-prone products is necessary to assure the quality of software product. Therefore, fault-prone module detection is one of the major and traditional area of software engineering. Although there are many approaches to detect fault-prone modules, they have their own pros and cons. Consequently, it is recommended to use appropriate approach on the various situations. This paper tries to show an integrated approach using two different fault-prone module detection approaches.
To do so, we prepare two approaches of fault-prone module detection: a text feature metrics based approach using naive Bayes classifier and a complexity metrics based approach using logistic regression. The former one is proposed by us and the latter one is widely used approach. For the data for application, we used data obtained from Eclipse, which is publicly available.
From the result of pre-experiment, we find that each approach has the pros and cons. That is, the text feature based approach has high recall, and complexity metrics based approach has high precision. In order to use their merits effectively, we proposed an integrated approach to apply these two approaches for fault-prone module detection. The result of experiment shows that the proposed approach shows better accuracy than each approach.
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
Briand, L.C., Melo, W.L., Wust, J.: Assessing the applicability of fault-proneness models across object-oriented software projects. IEEE Trans. on Software Engineering 28(7), 706–720 (2002)
Khoshgoftaar, T.M., Seliya, N.: Comparative assessment of software quality classification techniques: An empirical study. Empirical Software Engineering 9, 229–257 (2004)
Bellini, P., Bruno, I., Nesi, P., Rogai, D.: Comparing fault-proneness estimation models. In: Proc. of 10th IEEE International Conference on Engineering of Complex Computer Systems, pp. 205–214 (2005)
Menzies, T., Greenwald, J., Frank, A.: Data mining static code attributes to learn defect predictors. IEEE Trans. on Software Engineering 33(1), 2–13 (2007)
Catal, C., Diri, B.: Review: A systematic review of software fault prediction studies. Expert Syst. Appl. 36(4), 7346–7354 (2009)
Layman, L., Kudrjavets, G., Nagappan, N.: Iterative identification of fault-prone binaries using in-process metrics. In: Proc. of 2nd International Conference on Empirical Software Engineering and Measurement, September 2008, pp. 206–212 (2008)
Kim, S., Pan, K., Whitehead Jr., E.E.J.: Memories of bug fixes. In: Proc. of 14th ACM SIGSOFT international symposium on Foundations of software engineering, pp. 35–45. ACM, New York (2006)
Mizuno, O., Kikuno, T.: Training on errors experiment to detect fault-prone software modules by spam filter. In: Proc. of 6th joint meeting of the European software engineering conference and the ACM SIGSOFT symposium on the foundations of software engineering, pp. 405–414 (2007)
Hata, H., Mizuno, O., Kikuno, T.: Fault-prone module detection using large-scale text features based on spam filtering. Empirical Software Engineering (September 2009), doi:10.1007/s10664–009–9117–9
Zimmermann, T., Premrai, R., Zeller, A.: Predicting defects for eclipse. In: Proc. of 3rd International Workshop on Predictor models in Software Engineering (2007)
Boetticher, G., Menzies, T., Ostrand, T.: PROMISE Repository of empirical software engineering data repository, West Virginia University, Department of Computer Science (2007), http://promisedata.org/
Śliwerski, J., Zimmermann, T., Zeller, A.: When do changes induce fixes? (on Fridays). In: Proc. of 2nd International workshop on Mining software repositories, pp. 24–28 (2005)
Witten, I.H., Frank, E.: Data Mining: Practical Machine Learning Tools and Techniques, 2nd edn. Morgan Kaufmann, San Francisco (2005)
Basili, V.R., Briand, L.C., Melo, W.L.: A validation of object oriented metrics as quality indicators. IEEE Trans. on Software Engineering 22(10), 751–761 (1996)
Briand, L.C., Basili, V.R., Thomas, W.M.: A pattern recognition approach for software engineering data analysis. IEEE Trans. on Software Engineering 18(11), 931–942 (1992)
Munson, J.C., Khoshgoftaar, T.M.: The detection of fault-prone programs. IEEE Trans. on Software Engineering 18(5), 423–433 (1992)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in software engineering: An introduction. Kluwer Academic Publishers, Dordrecht (2000)
Fenton, N.E., Neil, M.: A critique of software defect prediction models. IEEE Trans. on Software Engineering 25(5), 675–689 (1999)
Gray, A.R., McDonell, S.G.: Software metrics data analysis - exploring the relative performance of some commonly used modeling techniques. Empirical Software Engineering 4, 297–316 (1999)
Takabayashi, S., Monden, A., Sato, S., Matsumoto, K., Inoue, K., Torii, K.: The detection of fault-prone program using a neural network. In: Proc. of International Symposium on Future Software Technology, Nanjing, October 1999, pp. 81–86 (1999)
Khoshgoftaar, T.M., Gao, K., Szabo, R.M.: An application of zero-inflated poisson regression for software fault prediction. In: Proc. of 12th International Symposium on Software Reliability Engineering, pp. 66–73 (1999)
Khoshgoftaar, T.M., Allen, E.B.: Modeling software quality with classification trees. Recent Advances in Reliability and Quality Engineering, 247–270 (1999)
Ohlsson, N., Alberg, H.: Predicting fault-prone software modules in telephone switches. IEEE Trans. on Software Engineering 22(12), 886–894 (1996)
Pighin, M., Zamolo, R.: A predictive metric based on statistical analysis. In: Proc. of 19th International Conference on Software Engineering, pp. 262–270 (1997)
Stoerzer, M., Ryder, B.G., Ren, X., Tip, F.: Finding failure-inducing changes in java programs using change classification. In: Proc. of 14th ACM SIGSOFT International Symposium on Foundations of Software Engineering, pp. 57–68. ACM Press, New York (2006)
Hassan, A.E., Holt, R.C.: The top ten list: Dynamic fault prediction. In: Proc. of 21st IEEE International Conference on Software Maintenance, Washington, DC, USA, pp. 263–272. IEEE Computer Society, Los Alamitos (2005)
Kim, S., Zimmermann, T., Whitehead Jr., E.J., Zeller, A.: Predicting faults from cached history. In: Proc. of 29th International Conference on Software Engineering, Washington, DC, USA, pp. 489–498. IEEE Computer Society, Los Alamitos (2007)
Ratzinger, J., Sigmund, T., Gall, H.: On the relation of refactorings and software defect prediction. In: Proc. of 5th International workshop on Mining software repositories, pp. 35–38. ACM, New York (2008)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Mizuno, O., Hata, H. (2010). An Integrated Approach to Detect Fault-Prone Modules Using Complexity and Text Feature Metrics. In: Kim, Th., Adeli, H. (eds) Advances in Computer Science and Information Technology. AST ACN 2010 2010. Lecture Notes in Computer Science, vol 6059. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-13577-4_41
Download citation
DOI: https://doi.org/10.1007/978-3-642-13577-4_41
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-13576-7
Online ISBN: 978-3-642-13577-4
eBook Packages: Computer ScienceComputer Science (R0)