This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Comparing High-Change Modules and Modules with the Highest Measurement Values in Two Large-Scale Open-Source Products
August 2005 (vol. 31 no. 8)
pp. 625-642
Identifying change-prone modules can enable software developers to take focused preventive actions that can reduce maintenance costs and improve quality. Some researchers observed a correlation between change proneness and structural measures, such as size, coupling, cohesion, and inheritance measures. However, the modules with the highest measurement values were not found to be the most troublesome modules by some of our colleagues in industry, which was confirmed by our previous study of six large-scale industrial products. To obtain additional evidence, we identified and compared high-change modules and modules with the highest measurement values in two large-scale open-source products, Mozilla and OpenOffice, and we characterized the relationship between them. Contrary to common intuition, we found through formal hypothesis testing that the top modules in change-count rankings and the modules with the highest measurement values were different. In addition, we observed that high-change modules had fairly high places in measurement rankings, but not the highest places. The accumulated findings from these two open-source products, together with our previous similar findings for six closed-source products, should provide practitioners with additional guidance in identifying the change-prone modules.

[1] V.R. Basili and D.H. Hutchens , “An Empirical Study of a Syntactic Complexity Family,” IEEE Trans. Software Eng., vol. 9, no. 6, pp. 664-672, 1983.
[2] A.B. Binkley and S.R. Schach , “Validation of the Coupling Dependency Metric as a Predictor of Run-Time Failures and Maintenance Measures,” Proc. Int'l Conf. Software Eng. (ICSE '98), pp. 452-455, 1998.
[3] L. Breiman , J.H. Friedman , R.A. Olshen , and C.J. Stone , Classification and Regression Trees. Wadsworth and Brooks, 1984.
[4] L.C. Briand , V.R. Basili , and C.J. Hetmanski , “Developing Interpretable Models with Optimized Set Reduction for Identifying High-Risk Software Components,” IEEE Trans. Software Eng., vol. 19, no. 11, pp. 1028-1044, Nov. 1993.
[5] L.C. Briand , J.W. Daly , and J.K. Wüst , “A Unified Framework for Cohesion Measurement in Object-Oriented Systems,” J. Empirical Software Eng., vol. 3, no. 1, pp. 65-117, 1998.
[6] L.C. Briand , J.W. Daly , and J.K. Wüst , “A Unified Framework for Coupling Measurement in Object-Oriented Systems,” IEEE Trans. Software Eng., vol. 25, no. 1, pp. 91-121, Jan./Feb. 1999.
[7] L.C. Briand , S. Morasca , and V.R. Basili , “Property-Based Software Engineering Measurement,” IEEE Trans. Software Eng., vol. 22, no. 1, pp. 68-86, Jan. 1996.
[8] 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,” J. Systems and Software, vol. 51, no. 3, pp. 245-273, 2000.
[9] M. Cartwright and M. Shepperd , “An Empirical Investigation of an Object-Oriented Software System,” IEEE Trans. Software Eng., vol. 26, no. 8, pp. 786-796, Aug. 2000.
[10] 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, June 1994.
[11] L.A. Clark and D. Pregibon , “Tree Based Models,” Statistical Models in S, J.M. Chambers and T.J. Hastie, eds., pp. 377-419, 1993.
[12] K. El Emam , S. Benlarbi , N. Goel , W. Melo , H. Lounis , and S.N. Rai , “The Optimal Class Size for Object-Oriented Software,” IEEE Trans. Software Eng., vol. 28, no. 5, pp. 494-509, May 2002.
[13] K. El Emam , S. Benlarbi , N. Goel , and S.N. Rai , “The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics,” IEEE Trans. Software Eng., vol. 27, no. 7, pp. 630-650, July 2001.
[14] K. El Emam , W. Melo , and J.C. Machado , “The Prediction of Faulty Classes Using Object-Oriented Design Metrics,” J. Systems and Software, vol. 56, no. 1, pp. 63-75, 2001.
[15] N.E. Fenton and N. Ohlsson , “Quantitative Analysis of Faults and Failures in a Complex Software System,” IEEE Trans. Software Eng., vol. 26, no. 8, pp. 797-814, Aug. 2000.
[16] R. Ferenc , A. Beszédes , M. Tarkiainen , and T. Gyimóthy , “Columbus— Reverse Engineering Tool and Schema for C++,” Proc. IEEE Int'l Conf. Software Maintenance (ICSM 2002), pp. 172-181, Oct. 2002.
[17] FrontEndArt, Ltd., Setup and User's Guide to Columbus CAN, FrontEndArt, Ltd., Hungary, Jan. 2003.
[18] M. Hamburg , Statistical Analysis for Decision Making, second ed. New York: HarcourtBrace Jova novich, 1977.
[19] R. Harrison , S.J. Counsell , and R.V. Nithi , “An Investigation into the Applicability and Validity of Object Oriented Design Metrics,” J. Empirical Software Eng., vol. 3, no. 3, pp. 255-273, Sept. 1998.
[20] S. Henry and D. Kafura , “Software Structure Metrics Based on Information Flow,” IEEE Trans. Software Eng., vol. 7, no. 5, pp. 510-518, Sept. 1981.
[21] J.M. Juran and A.B. Godfrey , Juran's Quality Handbook, fifth ed. McGraw Hill, 1999.
[22] D. Kafura and J. Canning , “A Validation of Software Metrics Using Many Metrics and Two Resources,” Proc. Eighth Int'l Conf. Software Eng., pp. 378-385, 1985.
[23] D. Kafura and S. Henry , “Software Quality Metrics Based on Interconnectivity,” J. Systems and Software, vol. 2, pp. 121-131, Feb. 1982.
[24] D. Kafura and G.R. Reddy , “The Use of Software Complexity Metrics in Software Maintenance,” IEEE Trans. Software Eng., vol. 13, no. 3, pp. 335-343, Mar. 1987.
[25] T.M. Khoshgoftaar , E.B. Allen , and J. Deng , “Using Regression Trees to Classify Fault-Prone Software Modules,” IEEE Trans. Reliability, vol. 51, no. 4, pp. 455-462, Dec. 2002.
[26] T.M. Khoshgoftaar , E.B. Allen , J. Hudepohl , and S. Aud , “Applications of Neural Networks to Software Quality Modeling of a Very Large Telecommunications System,” IEEE Trans. Neural Networks, vol. 8, no. 4, pp. 902-909, July 1997.
[27] T.M. Khoshgoftaar , A.S. Pandya , and D.L. Lanning , “Application of Neural Networks for Predicting Program Faults,” Annals of Software Eng., vol. 1, pp. 141-154, 1995.
[28] T.M. Khoshgoftaar and R.M. Szabo , “Using Neural Networks to Predict Software Faults During Testing,” IEEE Trans. Reliability, vol. 45, no. 3, pp. 456-462, Sept. 1996.
[29] B.A. Kitchenham , L.M. Pickard , and S.J. Linkman , “An Evaluation of Some Design Metrics,” IEE Software Eng. J., vol. 5, no. 1, pp. 50-58, Jan. 1990.
[30] A.G. Koru and J. Tian , “An Empirical Comparison and Characterization of High Defect and High Complexity Modules,” J. Systems and Software, vol. 67, no. 3, pp. 153-163, Sept. 2003.
[31] A.G. Koru and J. Tian , “Defect Handling in Medium and Large Open Source Projects,” IEEE Software, vol. 21, no. 4, pp. 54-61, July/Aug. 2004.
[32] D.A. Lamb and J.R. Abounader , “Data Model for Object-Oriented Design Metrics,” technical report, School of Computing, Queen's Univ., 1997.
[33] W. Li and S. Henry , “Object-Oriented Metrics that Predict Maintainability,” J. Systems and Software, vol. 23, no. 2, pp. 111-122, 1993.
[34] M. Lorenz and J. Kidd , Object-Oriented Metrics: Measures of Complexity. Pearson Education, POD, Dec. 1995.
[35] J.C. Munson and T.M. Khoshgoftaar , “The Detection of Fault-Prone Programs,” IEEE Trans. Software Eng., vol. 18, no. 5, pp. 423-433, May 1992.
[36] V. Pareto , On the Distribution of Wealth and Income, in Roots of the Italian School of Economics and Finance: From Ferrara (1857) to Einaudi (1944), M. Baldassarri and P. Ciocca, eds., vol. 2, Houndmills: Palgrav, 2001.
[37] A.A. Porter and R.W. Selby , “Empirically Guided Software Development Using Metric-Based Classification Trees,” IEEE Software, vol. 7, no. 2, pp. 46-54, Mar. 1990.
[38] R Development Core Team, R: A Language and Environment for Statistical Computing, R Foundation for Statistical Computing, Vienna, Austria, 2003, http:/www.R-project.org.
[39] E.S. Raymond , The Cathedral and the Bazaar: Musings on Linux and Open Source by an Accidental Revolutionary. Sebastopol, Calif: O'Reilly and Assoc., 1999.
[40] H.D. Rombach , “A Controlled Experiment on the Impact of Software Structure on Maintainability,” IEEE Trans. Software Eng., vol. 13, no. 3, pp. 344-354, Mar. 1987.
[41] Scientific Toolworks, Inc., Understand for C++: User Guide and Reference Manual. Jan. 2003, http:/www.scitools.com.
[42] V.Y. Shen , T.-J. Yu , S.M. Thebaut , and L. Paulsen , “Identifying Error-Prone Software— An Empirical Study,” IEEE Trans. Software Eng., vol. 11, no. 4, pp. 317-324, Apr. 1985.
[43] M. Shepperd and D. Ince , Derivation and Validation of Software Metrics. Oxford Univ. Press, 1993.
[44] J. Tian , “Integrating Time Domain and Input Domain Analyses of Software Reliability Using Tree-Based Models,” IEEE Trans. Software Eng., vol. 21, no. 12, pp. 945-958, Dec. 1995.
[45] J. Tian , “Risk Identification Techniques for Defect Reduction and Quality Improvement,” Software Quality Professional, vol. 2, no. 2, pp. 32-41, Mar. 2000.
[46] J. Tian , A. Nguyen , C. Allen , and R. Appan , “Experience with Identifying and Characterizing Problem Prone Modules in Telecommunication Software Systems,” J. Systems and Software, vol. 57, no. 3, pp. 207-215, July 2001.
[47] J. Tian and J. Troster , “A Comparison of Measurement and Defect Characteristics of New and Legacy Software Systems,” J. Systems and Software, vol. 44, no. 2, pp. 135-146, Dec. 1998.
[48] J. Tian and M.V. Zelkowitz , “Complexity Measure Evaluation and Selection,” IEEE Trans. Software Eng., vol. 21, no. 8, pp. 641-650, Aug. 1995.
[49] W.N. Venables and B.D. Ripley , Modern Applied Statistics with S-Plus. Springer-Verlag, 1994.
[50] E.J. Weyuker , “Evaluating Software Complexity Measures,” IEEE Trans. Software Eng., vol. 14, no. 9, pp. 1357-1365, Sept. 1988.

Index Terms:
Index Terms- Product metrics, maintainability, maintenance planning, open-source software.
Citation:
A. G? Koru, Jeff (Jianhui) Tian, "Comparing High-Change Modules and Modules with the Highest Measurement Values in Two Large-Scale Open-Source Products," IEEE Transactions on Software Engineering, vol. 31, no. 8, pp. 625-642, Aug. 2005, doi:10.1109/TSE.2005.89
Usage of this product signifies your acceptance of the Terms of Use.