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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
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)
McCabe, T.J.: A complexity measure. Software Engineering, IEEE Transactions on 2(4), 308–320 (1976)
Halstead, M.H.: Elements of Software Science, Operating, and Programming Systems Series, vol. 7. Elsevier, New York (1977)
Douce, C., Layzell, P., Buckley, J.: Spatial measures of software complexity. In: Proc. 11th Meeting of Psychology of Programming Interest Group (1999)
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)
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)
Lehman, M., Belady, L.: Program Evolution, Processes of Software Change. Academic Press, London (1985)
McCabe, T.J., Butler, C.W.: Design complexity measurement and testing. Communications of the ACM 32(12), 5–9 (1989)
McCabe, T.J., Watson, A.H.: Software complexity. Journal of Defense Software Engineering 7, 5–9 (1994)
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)
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)
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)
JavaNCSS: http://www.kclee.de/clemens/java/javancss/index.html
Lachesis: http://lachesis.sourceforge.net/
JavaCC: https://javacc.dev.java.net
Black, T.R.: Doing quantitative research in the social sciences: an integrated approach to research design, measurement and statistics. SAGE, London (1999)
Jones, C.: Software metrics: good, bad and missing. Computer 27(9), 98–100 (1994)
Oman, P.: HP-MAS: A Tool for Software Maintainability, Software Engineering. University of Idaho, Moscow (1991)
CMT++/CMTJava: http://www.verifysoft.com/en_halstead_metrics.html
Fenton, N.E., Pfleeger, S.L.: Software Metrics: A Rigorous & Practical Approach, 2nd edn. PWS Publishing Company, Boston (1997)
Author information
Authors and Affiliations
Editor information
Rights 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)