Abstract
A multivariate statistical procedure called multidimensional scaling is used to study the relationship of various software complexity metrics and program modules. The program modules that make up a software system are analysed and their effects towards the overall characteristics of a software are viewed. This multidimensional scaling technique is applied to a sample data set. The scaling procedure clustered the similar and dissimilar software complexity metrics. Program modules with low complexity and few errors clustered together, while modules which were complex were isolated. This technique shows promise in the identification of complex modules that potentially contain disproportionate errors prior to the testing phase. The ability of the scaling techniques to cluster similar and dissimilar characteristics is explained and graphically presented.
Similar content being viewed by others
References
Derose, B. and Nyman, T. (1978) The software life cycle — a management of defense,IEEE Transactions on Software Engineering,SE-4, 309–18.
Dillon, W.R. and Goldstein, M. (1984)Multivariate Analysis — Methods and Applications, John Wiley, New York.
Fagan, M.E. (1986) Advances in software inspections,IEEE Transactions on Software Engineering,SE-12, 144–51.
Hall, N. and Preiser, S. (1984) Combined network complexity measures,IBM Journal of Research Development, 15–27.
Halstead, M. (1977)Elements of Software Science, Elsevier, New York.
Harrison, W. and Cook, C. (1987) A micro/macro measure of software complexity,The Journal of Systems and Software,7, 213–19.
Harrison, W. (1988) Using software metrics to allocate testing resources,Journal of Management Information Systems,4, 93–105.
Henry, S. and Kafura, D. (1981) Software structure metrics based on information flow,IEEE Transactions on Software Engineering,SE-7, 510–18.
Kitchenham, B.A. (1988) An evaluation of software structure metrics, inProceedings of IEEE 12th Annual International Computer Software and Applications Conference — COMPSAC '88, Chicago, October, pp. 369–76.
Kitchenham, B.A. and Pickard, L. (1987) Towards a constructive quality model,Software Engineering Journal, 114–26.
Khoshgoftaar, T.M. and Munson, J.C. (1990a) Predicting software development errors using software complexity metrics,IEEE Journal on Selected Areas in Communications,8, 253–61.
Khoshgoftaar, T.M. and Munson, J.C. (1990b) The lines of code metric as a predictor of program faults: a critical analysis, inProceedings of IEEE 14th Annual International Computer Software and Applications Conference — COMPSAC '90, Chicago, October, pp. 408–13.
McCabe, T. (1976) A complexity measure,IEEE Transactions on Software Engineering,SE-2, 308–20.
Munson, J.C. and Khoshgoftaar, T.M. (1989) The dimensionality of program complexity, inProceedings of the 11th Annual International Conference on Software Engineering, May, pp. 245–53.
Rodriguez, V. and Tsai, W.T. (1987) A tool for discriminant analysis and classification of software metrics,Journal of Information and Software Technology,29, 137–50.
SPSS (1988)SPSS-X User's Guide, 3rd Edition, SPSS Inc., Chicago.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Khoshgoftaar, T.M., Munson, J.C. & Ravichandran, S. Comparative aspects of software complexity metrics and program modules — a multidimensional scaling approach. Software Qual J 1, 159–173 (1992). https://doi.org/10.1007/BF01720923
Received:
Issue Date:
DOI: https://doi.org/10.1007/BF01720923