[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Modeling Development Effort in Object-Oriented Systems Using Design Properties

Published: 01 November 2001 Publication History

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.

References

[1]
D. Beisley, E. Kuh, and R. Welsch, Regression Diagnostics: Identifying Influential Data and Sources of Collinearity. John Wiley & Sons, 1980.
[2]
J.M. Bieman and B.-K. Kang, "Cohesion and Reuse in an ObjectOriented System," Proc. ACM Syrnp. Software Reusability (SSR '94), pp. 259-262, 1995.
[3]
L. Briand, K. El Emam, K. Maxwell, D. Surmann, and I. Wieczorek, "An Assessment and Comparison of Common Software Cost Estimation Models," Proc. 21st Int'l Con,f. Software Eng., (ICSE '99), 1999.
[4]
L. Briand, J. Daly, V. Porter, and J. Wust, "Exploring the Relationships between Design Measures and Software Quality in Object-Oriented Systems," I. Systems and Software, vol. 51, pp. 245273,2000.
[5]
L. Briand, J. Daly, and J. Wst, "A Unified Framework for Coupling Measurement in ObjectOriented Systems," IEEE Trans. Software Eng., vol. 25, no. 1, pp. 91-122, Jan. 1999.
[6]
L. Briand, J. Daly, and J. Wust, "A Unified Framework for Cohesion Measurement in ObjectOriented Systems," Empirical Software Eng. 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), 1997.
[8]
L. Briand, J. Wust, and H. Lounis, "Replicated Case Studies for Investigating Quality Factors in Object-Oriented Designs," Empirical Software Eng.: An Int'l f. vol 6, no. 1, pp. 11-58, 2001.
[9]
L. Briand, S. Morasca, and V. Basili, "Property-Based Software Engineering Measurement," IEEE Trans. Software Eng., vol. 22, no. 1, pp. 68-86, 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://aguirre.ing.unifi.it/-lioo, 1995,
[12]
S.R. Chidamber and CF. Kemerer, "Towards a Metrics Suite for Object Oriented Design," Proc. Conf. Object-Oriented Programming: Systems, Languages and Applications (OOPSLA '91), A. Paepcke, ed., pp. 197-211, Oct. 1991.
[13]
SR. Chidamber and CF. Kemerer, "A Metrics Suite for Object Oriented Design," IEEE Trans. Software Lag., vol. 20, no. 6, pp. 476493, June 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]
C. Dunteman, Principal Component Analysis. SAGE Publications, 1989.
[17]
W. Hayes, Statistics, fifth ed. l-lartcourt 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 Syrnp. 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.-?. 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," f. Systems and Software, vol. 23, no. 2 pp. 111122, 1993.
[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. Englewood Cliffs, N.J.: 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 BLOI 13590-990513-O9TM, 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 00 Projects Better," IEEE Software, pp. 50-60, July/Aug. 1998.
[29]
P. Nesi and T. Querci, "Effort Estimation and Prediction of ObjectOriented Systems," 1 Systems and Software, vol. 42, pp. 89-102, 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," f. Royal Statistical Soc., Series B-36, pp. 111-147, 1974.
[32]
Dl'. Tegarden, S.D. Sheetz, and D.E. Monarchi, "A Software Complexity Model of ObjectOriented Systems," Decision Support Systems, vol. 13, no. 3-4, pp. 241-262,1995.

Cited By

View all
  • (2022)Learning From Mistakes: Machine Learning Enhanced Human Expert Effort EstimatesIEEE Transactions on Software Engineering10.1109/TSE.2020.304079348:6(1868-1882)Online publication date: 1-Jun-2022
  • (2016)Multi-objective software effort estimationProceedings of the 38th International Conference on Software Engineering10.1145/2884781.2884830(619-630)Online publication date: 14-May-2016
  • (2016)Web Effort EstimationInformation and Software Technology10.1016/j.infsof.2015.12.00172:C(90-109)Online publication date: 1-Apr-2016
  • Show More Cited By

Recommendations

Reviews

Shannon Brown

Briand and Wüst provide a very high-level theoretical model for estimating simple components of object-oriented design. The model is intended to provide a theoretical basis and techniques for developing more advanced research in software development cost estimation techniques. The paper is heavily researcher-oriented, and is of most value to software cost estimation theorists. Due to its strict reliance on advanced statistical analysis, the paper is not appropriate for persons working in applied fields. The authors use the data from a simple object-oriented project (393.3 person hours) to test the relationship between class size, class cohesion, class coupling, and overall development effort using multivariate analysis. Poisson regression and CART regression trees statistical models are used as the primary analysis tools. The objective of the project was to simply test the validity of the modeling technique. The paper provides a theoretical model for further research. However, considerable additional research is required before a viable model is developed. The authors acknowledge that the relationships analyzed are relatively simple and are based only on carefully defined per-class design effort. Factors such as testing, unit effort, team experience, team structure, and development environment are not addressed. Online Computing Reviews Service

Access critical reviews of Computing literature here

Become a reviewer for Computing Reviews.

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 27, Issue 11
Special section on the seventh international software metrics symposium
November 2001
96 pages

Publisher

IEEE Press

Publication History

Published: 01 November 2001

Author Tags

  1. Cost estimation
  2. empirical validation.
  3. object-oriented measurement

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 17 Jan 2025

Other Metrics

Citations

Cited By

View all
  • (2022)Learning From Mistakes: Machine Learning Enhanced Human Expert Effort EstimatesIEEE Transactions on Software Engineering10.1109/TSE.2020.304079348:6(1868-1882)Online publication date: 1-Jun-2022
  • (2016)Multi-objective software effort estimationProceedings of the 38th International Conference on Software Engineering10.1145/2884781.2884830(619-630)Online publication date: 14-May-2016
  • (2016)Web Effort EstimationInformation and Software Technology10.1016/j.infsof.2015.12.00172:C(90-109)Online publication date: 1-Apr-2016
  • (2015)From Function Points to COSMIC - A Transfer Learning Approach for Effort EstimationProceedings of the 16th International Conference on Product-Focused Software Process Improvement - Volume 945910.1007/978-3-319-26844-6_19(251-267)Online publication date: 2-Dec-2015
  • (2014)Exploiting prior-phase effort data to estimate the effort for the subsequent phasesProceedings of the 10th International Conference on Predictive Models in Software Engineering10.1145/2639490.2639509(42-51)Online publication date: 17-Sep-2014
  • (2014)An in-depth study of the potentially confounding effect of class size in fault predictionACM Transactions on Software Engineering and Methodology10.1145/255677723:1(1-51)Online publication date: 20-Feb-2014
  • (2013)Class level fault prediction using software clusteringProceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering10.1109/ASE.2013.6693126(640-645)Online publication date: 11-Nov-2013
  • (2012)Functional versus design measures for model-driven web applicationsProceedings of the 3rd International Workshop on Emerging Trends in Software Metrics10.5555/2669379.2669384(21-27)Online publication date: 3-Jun-2012
  • (2012)Single and Multi Objective Genetic Programming for software development effort estimationProceedings of the 27th Annual ACM Symposium on Applied Computing10.1145/2245276.2231968(1221-1226)Online publication date: 26-Mar-2012
  • (2012)The ability of object-oriented metrics to predict change-pronenessEmpirical Software Engineering10.1007/s10664-011-9170-z17:3(200-242)Online publication date: 1-Jun-2012
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media