This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Modeling Development Effort in Object-Oriented Systems Using Design Properties
November 2001 (vol. 27 no. 11)
pp. 963-986

Abstract—In the context of software cost estimation, system size is widely taken as a main driver of system development effort. But, other structural design properties, such as coupling, cohesion, and complexity, have been suggested as additional cost factors. In this paper, using effort data from an object-oriented development project, we empirically investigate the relationship between class size and the development effort for a class and what additional impact structural properties such as class coupling have on effort. This paper proposes a practical, repeatable, and accurate analysis procedure to investigate relationships between structural properties and development effort. This is particularly important as it is necessary, as for any empirical study, to be able to replicate the analysis reported here. More specifically, we use Poisson regression and regression trees to build cost prediction models from size and design measures and use these models to predict system development effort. We also investigate a recently suggested technique to combine regression trees with regression analysis which aims at building more accurate models. Results indicate that fairly accurate predictions of class effort can be made based on simple measures of the class interface size alone (mean MREs below 30 percent). Effort predictions at the system level are even more accurate as, using Bootstrapping, the estimated 95 percent confidence interval for MREs is 3 to 23 percent. But, more sophisticated coupling and cohesion measures do not help to improve these predictions to a degree that would be practically significant. However, the use of hybrid models combining Poisson regression and CART regression trees clearly improves the accuracy of the models as compared to using Poisson regression alone.

[1] D. Belsley, E. Kuh, and R. Welsch, Regression Diagnostics: Identifying Influential Data and Sources of Collinearity. John Wiley&Sons, 1980.
[2] J. Bieman and B.-K. Kang, "Cohesion and Reuse in an Object-Oriented System," Proc. ACM Symp. Software Reusability, SSR'95, pp. 259-262, Apr. 1995. Reprinted in ACM Software Eng. Notes, Aug. 1995.
[3] L. Briand, K. El Emam, D. Surmann, I. Wieczorek, and K. Maxwell, “An Assessment and Comparison of Common Software Cost Estimation Modeling Techniques,” Proc. Int'l Conf. Software Eng., pp. 313-322, 1999.
[4] L. Briand, J. Wuest, J. Daly, and V. Porter, “Exploring the Relationships between Design Measures and Software Quality in Object-Oriented Systems,” J. Systems and Software, vol. 51, 2000.
[5] L. Briand, J. Daly, and J. Wuest, A Unified Framework for Coupling Measurement in Object-Oriented Systems IEEE Trans. Software Eng., vol. 25, no. 1, pp. 91-121, 1999.
[6] L. Briand, J. Daly, and J. Wüst, "A Unified Framework for Cohesion Measurement in Object-Oriented Systems," Empirical Software Eng.: An Int'l J., vol. 3, no. 1, pp. 65-117, 1998.
[7] L. Briand, P. Devanbu, and W. Melo, "An Investigation into Coupling Measures for C++," Proc. 19th Int'l Conf. Software Eng., ICSE '97,Boston, pp. 412-421, May 1997.
[8] L.C. Briand, J. Wuest, and H. Lounis, “Replicated Case Studies for Investigating Quality Factors in Object-Oriented Designs,” Empirical Software Eng.: An Int'l J., vol. 6, no. 6, 2001.
[9] L.C. Briand, S. Morasca, and V.R. Basili, "Property-Based Software Engineering Measurement," IEEE Trans. Software Eng., vol. 22, no. 1, pp. 68-85, Jan. 1996.
[10] L. Breiman, J.H. Friedman, R.A. Olshen, and C.J. Stone, Classification and Regression Trees. Wadsworth&Books/Cole Advanced Books&Software, 1984.
[11] LIOO Homepage (in Italian),http://sunset.usc.edu/~bkclark/Researchhttp:/ /aguirre.ing.unifi.it~lioo, 1995.
[12] S.R. Chidamber and C.F. Kemerer, "Towards a Metrics Suite for Object Oriented Design," A. Paepcke, ed., Proc. Conf. Object-Oriented Programming: Systems, Languages and Applications, OOPSLA'91, Oct. 1991. Also published in SIGPLAN Notices, vol. 26, no. 11, pp. 197-211, 1991.
[13] 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.
[14] S. Chidamber, D. Darcy, and C. Kemerer, “Managerial use of Metrics for Object-Oriented Software: An Exploratory Analysis,” IEEE Trans. Software Eng., vol. 24, no. 8, pp. 629-639, Aug. 1998.
[15] R. Darlington, “Multiple Regression in Psychological Research and Practice,” Psychological Bulletin, vol. 69, no. 3, pp. 161-182, 1968.
[16] G. Dunteman, Principal Component Analysis. SAGE Publications, 1989.
[17] W. Hayes, Statistics, fifth ed. Hartcourt Brace College Publishers, 1994.
[18] B. Henderson-Sellers, Software Metrics. Hemel Hempstaed, UK: Prentice Hall, 1996.
[19] M. Hitz and B. Montazeri, “Measuring Coupling and Cohesion in Object-Oriented Systems,” Proc. Int'l Symp. Applied Corporate Computing, Oct. 1995.
[20] A. Lake and C. Cook, “Use of Factor Analysis to Develop OOP Software Complexity Metrics,” Proc. Sixth Ann. Oregon Workshop Software Metrics, 1994.
[21] Y.-S. Lee, B.-S. Liang, S.-F. Wu, and F.-J. Wang, “Measuring the Coupling and Cohesion of an Object-Oriented Program Based on Information Flow,” Proc. Int'l Conf. Software Quality, 1995.
[22] W. Li and S. Henry, "Object-Oriented Metrics that Predict Maintainability," J. Systems Software, Vol. 23, No. 2, 1993, pp. 111-122.
[23] S. Long, “Regression Models for Categorical and Limited Dependent Variables,” Advanced Quantitative Techniques, Sage Publications, 1997.
[24] M. Lorenz and J. Kidd, Object-Oriented Software Metrics. Prentice Hall, 1994.
[25] P. McCullagh and J. Nelder, Generalized Linear Models. London: Chapman&Hall, 1989.
[26] T. Graves and A. Mockus, “Identifying Productivity Drivers by Modeling Work Units Using Partial Data,” Technical Report BL0113590-990513-09TM, Bell Laboratories, 2000.
[27] C. Mooney and R. Duval, “Bootstrapping. A Nonparametric Approach to Statistical Inference,” Quantitative Applications in the Social Sciences, vol. 95,Sage Publications, 1993.
[28] P. Nesi, “Managing OO Projects Better,” IEEE Software, pp. 50-60, July/Aug. 1998.
[29] P. Nesi and T. Querci, "Effort Estimation and Prediction of Object-Oriented Systems," J. Systems and Software, to appear, 1998.
[30] D. Steinberg and N. Cardell, “The Hybrid CART-Logit Model in Classification and Data Mining,” Salford Systems, 1999, http:/www.salford-systems.com.
[31] M. Stone, “Cross-Validatory Choice and Assessment of Statistical Predictions,” J. Royal Statistical Soc., Series B-36, pp. 111-147, 1974.
[32] D.P. Tegarden, S.D. Sheetz, and D.E. Monarchi, “A Software Complexity Model of Object-Oriented Systems,” Decision Support Systems, vol. 13, nos. 3/4, pp. 241-262, Mar. 1995.

Index Terms:
Cost estimation, object-oriented measurement, empirical validation.
Citation:
Lionel C. Briand, Jürgen Wüst, "Modeling Development Effort in Object-Oriented Systems Using Design Properties," IEEE Transactions on Software Engineering, vol. 27, no. 11, pp. 963-986, Nov. 2001, doi:10.1109/32.965338
Usage of this product signifies your acceptance of the Terms of Use.