Skip to main content
Log in

The impact of software evolution and reuse on software quality

  • Peer Reviewed Articles
  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

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.

    Google Scholar 

  • Basili, V. R. 1990. Viewing maintenance as reuse-oriented software development. IEEE Software 7(1): 19–25.

    Google Scholar 

  • Card, D. N. and Agresti, W. W. 1988. Measuring software design complexity. Journal of Systems and Software 8(3): 185–197.

    Google Scholar 

  • Fenton, N. E. 1991. Software Metrics: A rigorous Approach. London: Chapman and Hall.

    Google Scholar 

  • Grady, R. B. 1994. Successfully applying software metrics. Computer 27(9): 18–25.

    Google Scholar 

  • 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.

    Google Scholar 

  • Johnson, R. A. and Wichern, D. W. 1992. Applied Multivariate Statistical Analysis. Englewood Cliffs, NJ: Prentice Hall, 3d edition.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • 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.

    Google Scholar 

  • Kitchenham, B. A., Pickard, L. M., and Linkman, S. J. 1990. An evaluation of some design metrics. Software Engineering Journal 5(1): 50–58.

    Google Scholar 

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

    Google Scholar 

  • Myers, R. H. 1990. Classical and Modern Regression with Applications. Boston: PWS-KENT Publishing.

    Google Scholar 

  • Rombach, H. D. 1990. Design measurement: Some lessons learned. IEEE Software 7(2): 17–25.

    Google Scholar 

  • Selby, R. W. 1990. Empirically based analysis of failures in software systems. IEEE Transactions on Reliability 39(4): 444–454.

    Google Scholar 

  • Shepperd, M. 1990. Early life-cycle metrics and software quality models. Journal of Information and Software Technology 32(4): 311–316.

    Google Scholar 

  • Zage, W. M. and Zage, D. M. 1993. Evaluating design metrics on large-scale software. IEEE Software 10(4): 75–80.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints 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

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1007/BF00125810

Keywords

Navigation