This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction
October 2005 (vol. 31 no. 10)
pp. 897-910
Open source software systems are becoming increasingly important these days. Many companies are investing in open source projects and lots of them are also using such software in their own work. But, because open source software is often developed with a different management style than the industrial ones, the quality and reliability of the code needs to be studied. Hence, the characteristics of the source code of these projects need to be measured to obtain more information about it. This paper describes how we calculated the object-oriented metrics given by Chidamber and Kemerer to illustrate how fault-proneness detection of the source code of the open source Web and e-mail suite called Mozilla can be carried out. We checked the values obtained against the number of bugs found in its bug database—called Bugzilla—using regression and machine learning methods to validate the usefulness of these metrics for fault-proneness prediction. We also compared the metrics of several versions of Mozilla to see how the predicted fault-proneness of the software system changed during its development cycle.

[1] V.R. Basili, L.C. Briand, and W.L. Melo, “A Validation of Object-Oriented Design Metrics as Quality Indicators,” IEEE Trans. Software Eng., vol. 22, no. 10, pp. 751-761, Oct. 1996.
[2] C.M. Bishop, Neural Networks for Pattern Recognition. Oxford, U.K.: Clarendon Press, 1995.
[3] L.C. Briand, W.L. Melo, and J. Wüst, “Assessing the Applicability of Fault-Proneness Models Across Object-Oriented Software Projects,” IEEE Trans. Software Eng., vol. 28, no. 7, pp. 706-720, July 2002.
[4] L.C. Briand and J. Wüst, “Empirical Studies of Quality Models in Object-Oriented Systems,” Advances in Computers, vol. 56, Sept. 2002.
[5] L.C. Briand, J. Wüst, J.W. Daly, and D.V. Porter, “Exploring the Relationships between Design Measures and Software Quality in Object-Oriented Systems,” The J. Systems and Software, vol. 51, pp. 245-273, 2000.
[6] Bugzilla for Mozilla, http:/bugzilla.mozilla.org, 2005.
[7] Y.-F. Chen, E.R. Gansner, and E. Koutsofios, “A C++ Data Model Supporting Reachability Analysis and Dead Code Detection,” IEEE Trans. Software Eng., vol. 24, no. 9, pp. 682-693, Sept. 1998.
[8] S.R. Chidamber and C.F. Kemerer, “A Metrics Suite for Object-Oriented Design,” IEEE Trans. Software Eng., vol. 20, no. 6, pp. 476-493, 1994.
[9] R. Ferenc and Á. Beszédes, “Data Exchange with the Columbus Schema for C++,” Proc. Sixth European Conf. Software Maintenance and Reeng. (CSMR 2002), pp. 59-66, Mar. 2002.
[10] R. Ferenc, Á. Beszédes, M. Tarkiainen, and T. Gyimóthy, “Columbus— Reverse Engineering Tool and Schema for C++,” Proc. 18th Int'l Conf. Software Maintenance (ICSM 2002), pp. 172-181, Oct. 2002.
[11] R. Ferenc, I. Siket, and T. Gyimóthy, “Extracting Facts from Open Source Software,” Proc. 20th Int'l Conf. Software Maintenance (ICSM 2004), pp. 60-69, Sept. 2004.
[12] P. Finnigan, R. Holt, I. Kalas, S. Kerr, K. Kontogiannis, H. Mueller, J. Mylopoulos, S. Perelgut, M. Stanley, and K. Wong, “The Software Bookshelf,” IBM Systems J., vol. 36, pp. 564-593, Nov. 1997.
[13] F. Fioravanti and P. Nesi, “A Study on Fault-Proneness Detection of Object-Oriented Systems,” Proc. Fifth European Conf. Software Maintenance and Reeng. (CSMR 2001), pp. 121-130, Mar. 2001.
[14] FrontEndART Software Ltd., http:/www.frontendart.com, 2005.
[15] M.W. Godfrey and E.H.S. Lee, “Secrets from the Monster: Extracting Mozilla's Software Architecture,” Proc. Second Int'l Symp. Constructing Software Eng. Tools (CoSET 2000), pp. 15-23, June 2000.
[16] D. Hosmer and S. Lemeshow, Applied Logistic Regression. Wiley-Interscience, 1989.
[17] The Mozilla Homepage, http:/www.mozilla.org, 2005.
[18] J. Neter, W. Wasserman, and M.H. Kutner, Applied Linear Statistical Models, third ed. Richard D. Irwin, 1990.
[19] J.R. Quinlan, C4.5: Programs for Machine Learning. Morgan Kaufmann, 1993.
[20] C.R. Reis and R. Pontin de Mattos Fortes, “An Overview of the Software Engineering Process and Tools in the Mozilla Project,” Proc. Workshop Open Source Software Development, pp. 155-175, Feb. 2002.
[21] R. Subramanyan and M.S. Krishnan, “Empirical Analysis of CK Metrics for Object-Oriented Design Complexity: Implications for Software Defects,” IEEE Trans. Software Eng., vol. 29, pp. 297-310, Apr. 2003.
[22] P. Yu, T. Systä, and H. Müller, “Predicting Fault-Proneness Using OO Metrics: An Industrial Case Study,” Proc. Sixth European Conf. Software Maintenance and Reeng. (CSMR 2002), pp. 99-107, Mar. 2002.

Index Terms:
Index Terms- Fact extraction, metrics validation, reverse engineering, open source software, fault-proneness detection, Mozilla, Bugzilla, C++, compiler wrapping, Columbus.
Citation:
Tibor Gyim?thy, Rudolf Ferenc, Istv? Siket, "Empirical Validation of Object-Oriented Metrics on Open Source Software for Fault Prediction," IEEE Transactions on Software Engineering, vol. 31, no. 10, pp. 897-910, Oct. 2005, doi:10.1109/TSE.2005.112
Usage of this product signifies your acceptance of the Terms of Use.