Abstract
This paper presents a case study of a software project in the maintenance phase. The case study was based on a sample of modules, representing about 1.3 million lines of code, from a very large telecommunications system. Software quality models were developed to predict the number of faults expected from the coding through operations phases. Since modules from the prior release were often reused to develop a new release, one model incorporated reuse data as additional independent variables. We compare this model's performance to a similar model without reuse data.
Software quality models often have product metrics as the only input data for predicting quality. There is an implicit assumption that all the modules have had a similar development history, so that product attributes are the primary drivers of different quality levels. Reuse of software as components and software evolution do not fit this assumption very well, and consequently, traditional models for such environments may not have adequate accuracy. Focusing on the software maintenance phase, this study demonstrated that reuse data can significantly improve the predictive accuracy of software quality models.
Similar content being viewed by others
References
Agresti, W. W. and Evanco, W. M. 1992. Projecting software defects from analyzing ada designs. IEEE Transactions on Software Engineering 18(11): 988–997.
Basili, V. R. 1990. Viewing maintenance as reuse-oriented software development. IEEE Software 7(1): 19–25.
Card, D. N. and Agresti, W. W. 1988. Measuring software design complexity. Journal of Systems and Software 8(3): 185–197.
Fenton, N. E. 1991. Software Metrics: A rigorous Approach. London: Chapman and Hall.
Grady, R. B. 1994. Successfully applying software metrics. Computer 27(9): 18–25.
Harrison, W. and Cook, C.R. 1990. Insights on improving the maintenance process through software measurement. Proceedings of the International Conference on Software Maintenance, San Diego, CA., IEEE Computer Society, 37–45
Henry, S. and Wake, S. 1991. Predicting maintainability with software quality metrics. Journal of Software Maintenance: Research and Practice 3: 129–143.
Johnson, R. A. and Wichern, D. W. 1992. Applied Multivariate Statistical Analysis. Englewood Cliffs, NJ: Prentice Hall, 3d edition.
Khoshgoftaar, T. M. and Allen, E. B. 1995. Multivariate assessment of complex software systems: A comparative study. Proceedings of the First International Conference on Engineering of Complex Computer Systems, Fort Lauderdale, FL., IEEE Computer Society, 389–396.
Khoshgoftaar, T. M., Allen, E. B., Kalaichelvan, K. S., and Goel, N. 1996. Early quality prediction: A case study in telecommunications. IEEE Software 13(1): 65–71.
Khoshgoftaar, T. M., Allen, E. B., Kalaichelvan, K. S., Goel, N., Hudepohl, J. P., and Mayrand, J. 1995. Detection of fault-prone program modules in a very large telecommunications system. Proceedings of the Sixth International Symposium on Software Reliability Engineering Toulouse, France, IEEE Computer Society, 24–33.
Khoshgoftaar, T. M. and Lanning, D. L. 1995. A neural network approach for early detection of program modules having high risk in the maintenance phase. Journal of Systems and Software 29(1): 85–91.
Khoshgoftaar, T. M., Munson, J. C., Bhattacharya, B. B. and Richardson, G. D. 1992. Predictive modeling techniques of software quality from software measures. IEEE Transactions on Software Engineering 18(11): 979–987.
Khoshgoftaar, T. M., Szabo, R. M., and Woodcock, T. G. 1994. An empirical study of program quality during testing and maintenance. Software Quality Journal 3(3): 137–151.
Kitchenham, B. A., Pickard, L. M., and Linkman, S. J. 1990. An evaluation of some design metrics. Software Engineering Journal 5(1): 50–58.
McCabe, T. J. 1976. A complexity measure. IEEE Transactions on Software Engineering se 2(4): 308–320.
Myers, R. H. 1990. Classical and Modern Regression with Applications. Boston: PWS-KENT Publishing.
Rombach, H. D. 1990. Design measurement: Some lessons learned. IEEE Software 7(2): 17–25.
Selby, R. W. 1990. Empirically based analysis of failures in software systems. IEEE Transactions on Reliability 39(4): 444–454.
Shepperd, M. 1990. Early life-cycle metrics and software quality models. Journal of Information and Software Technology 32(4): 311–316.
Zage, W. M. and Zage, D. M. 1993. Evaluating design metrics on large-scale software. IEEE Software 10(4): 75–80.
Author information
Authors and Affiliations
Rights and permissions
About this article
Cite this article
Khoshgoftaar, T.M., Allen, E.B., Kalaichelvan, K.S. et al. The impact of software evolution and reuse on software quality. Empir Software Eng 1, 31–44 (1996). https://doi.org/10.1007/BF00125810
Issue Date:
DOI: https://doi.org/10.1007/BF00125810