Skip to main content

Performance Comparison of Software Complexity Metrics in an Open Source Project

  • Conference paper
Software Process Improvement (EuroSPI 2007)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 4764))

Included in the following conference series:

Abstract

Software complexity measures are essential aspects of software engineering. Relatively few studies have been conducted to compare the performance of different complexity metrics. This paper describes an experimental investigation, which compares the performance of three different software complexity metrics; McCabe’s cyclomatic complexity, Halstead’s complexity measures and Douce’s spatial complexity, by using data from an Open Source project Eclipse JDT. The results of this investigation indicate that in different situation these complexity metrics show different performance. However, Halstead’s effort measure and Douce’s spatial complexity are highly correlated, showing bigger correlation coefficient values. This leads us to suggest that because Halstead’s complexity measure is more mature and has better supporting tools, it may be a good idea to replace Douce’s spatial complexity metric with Halstead’s effort measure in practice.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Curtis, B., Shepperd, S., Milliman, P.: Third time charm: Stronger prediction of programmer performance by software complexity metrics. In: Proceeding of the fourth International Conference on Software Engineering, pp. 356–360 (1979)

    Google Scholar 

  2. McCabe, T.J.: A complexity measure. Software Engineering, IEEE Transactions on 2(4), 308–320 (1976)

    Article  MathSciNet  Google Scholar 

  3. Halstead, M.H.: Elements of Software Science, Operating, and Programming Systems Series, vol. 7. Elsevier, New York (1977)

    Google Scholar 

  4. Douce, C., Layzell, P., Buckley, J.: Spatial measures of software complexity. In: Proc. 11th Meeting of Psychology of Programming Interest Group (1999)

    Google Scholar 

  5. Chhabra, J., Aggarwal, K., Singh, Y.: Code and data spatial complexity: Two important software understandability measures. Information and software Technology 45(8), 539–546 (2003)

    Google Scholar 

  6. Massey, B.: Longitudinal analysis of long-timescale open source repository data. In: International Conference on Software Engineering. Proceedings of the 2005 workshop on Predictor models in software engineering, pp. 1–5 (2005)

    Google Scholar 

  7. Lehman, M., Belady, L.: Program Evolution, Processes of Software Change. Academic Press, London (1985)

    Google Scholar 

  8. McCabe, T.J., Butler, C.W.: Design complexity measurement and testing. Communications of the ACM 32(12), 5–9 (1989)

    Article  Google Scholar 

  9. McCabe, T.J., Watson, A.H.: Software complexity. Journal of Defense Software Engineering 7, 5–9 (1994)

    Google Scholar 

  10. Gold, N.E., Mohan, A.M., Layzell, P.J.: Spatial complexity metrics: an investigation of utility. Software Engineering, IEEE Transactions on 31(3), 203–212 (2005)

    Article  Google Scholar 

  11. Mockus, A., Fielding, R., Herbsleb, J.: Two case studies of open source software development: Apache and mozilla. ACM Transactions on Software Engineering and Methodology 11(3), 309–346 (2002)

    Article  Google Scholar 

  12. Sliwerski, J., Zimmermann, T., Zeller, A.: When do changes induce fixes? In: ACM SIGSOFT Software Engineering Notes, Proceedings of the 2005 international workshop on mining software repositories MSR 2005, vol. 30 (2005)

    Google Scholar 

  13. JavaNCSS: http://www.kclee.de/clemens/java/javancss/index.html

  14. Lachesis: http://lachesis.sourceforge.net/

  15. JavaCC: https://javacc.dev.java.net

  16. Black, T.R.: Doing quantitative research in the social sciences: an integrated approach to research design, measurement and statistics. SAGE, London (1999)

    Google Scholar 

  17. Jones, C.: Software metrics: good, bad and missing. Computer 27(9), 98–100 (1994)

    Article  Google Scholar 

  18. Oman, P.: HP-MAS: A Tool for Software Maintainability, Software Engineering. University of Idaho, Moscow (1991)

    Google Scholar 

  19. CMT++/CMTJava: http://www.verifysoft.com/en_halstead_metrics.html

  20. Fenton, N.E., Pfleeger, S.L.: Software Metrics: A Rigorous & Practical Approach, 2nd edn. PWS Publishing Company, Boston (1997)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Pekka Abrahamsson Nathan Baddoo Tiziana Margaria Richard Messnarz

Rights and permissions

Reprints and permissions

Copyright information

© 2007 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Zhang, M., Baddoo, N. (2007). Performance Comparison of Software Complexity Metrics in an Open Source Project. In: Abrahamsson, P., Baddoo, N., Margaria, T., Messnarz, R. (eds) Software Process Improvement. EuroSPI 2007. Lecture Notes in Computer Science, vol 4764. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-75381-0_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-75381-0_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-74765-9

  • Online ISBN: 978-3-540-75381-0

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics