Issue No.03 - March (2005 vol.31)
Nicolas E. Gold , IEEE
Paul J. Layzell , IEEE Computer Society
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/TSE.2005.39
Software comprehension is one of the largest costs in the software lifecycle. In an attempt to control the cost of comprehension, various complexity metrics have been proposed to characterize the difficulty of understanding a program and, thus, allow accurate estimation of the cost of a change. Such metrics are not always evaluated. This paper evaluates a group of metrics recently proposed to assess the "spatial complexity” of a program (spatial complexity is informally defined as the distance a maintainer must move within source code to build a mental model of that code). The evaluation takes the form of a large-scale empirical study of evolving source code drawn from a commercial organization. The results of this investigation show that most of the spatial complexity metrics evaluated offer no substantially better information about program complexity than the number of lines of code. However, one metric shows more promise and is thus deemed to be a candidate for further use and investigation.
Maintenance measurement, complexity measures, maintainability, software psychology.
Nicolas E. Gold, Andrew M. Mohan, Paul J. Layzell, "Spatial Complexity Metrics: An Investigation of Utility", IEEE Transactions on Software Engineering, vol.31, no. 3, pp. 203-212, March 2005, doi:10.1109/TSE.2005.39