Source code size estimation approaches for object-oriented systems from UML class diagrams: A comparative study

  • Authors:
  • Yuming Zhou;Yibiao Yang;Baowen Xu;Hareton Leung;Xiaoyu Zhou

  • Affiliations:
  • State Key Laboratory for Novel Software Technology, Nanjing University, China and Department of Computer Science and Technology, Nanjing University, China;Department of Computer Science and Technology, Nanjing University, China;State Key Laboratory for Novel Software Technology, Nanjing University, China and Department of Computer Science and Technology, Nanjing University, China;Department of Computing, Hong Kong Polytechnic University, China;School of Computer Science and Engineering, Southeast University, China

  • Venue:
  • Information and Software Technology
  • Year:
  • 2014

Quantified Score

Hi-index 0.00

Visualization

Abstract

Background: Source code size in terms of SLOC (source lines of code) is the input of many parametric software effort estimation models. However, it is unavailable at the early phase of software development. Objective: We investigate the accuracy of early SLOC estimation approaches for an object-oriented system using the information collected from its UML class diagram available at the early software development phase. Method: We use different modeling techniques to build the prediction models for investigating the accuracy of six types of metrics to estimate SLOC. The used techniques include linear models, non-linear models, rule/tree-based models, and instance-based models. The investigated metrics are class diagram metrics, predictive object points, object-oriented project size metric, fast&&serious class points, objective class points, and object-oriented function points. Results: Based on 100 open-source Java systems, we find that the prediction model built using object-oriented project size metric and ordinary least square regression with a logarithmic transformation achieves the highest accuracy (mean MMRE=0.19 and mean Pred(25)=0.74). Conclusion: We should use object-oriented project size metric and ordinary least square regression with a logarithmic transformation to build a simple, accurate, and comprehensible SLOC estimation model.