Skip to main content
Log in

Software Evolution and the Code Fault Introduction Process

  • Published:
Empirical Software Engineering Aims and scope Submit manuscript

Abstract

In any manufacturing environment, the fault introduction rate might be considered one of the most meaningful criterion to evaluate the goodness of the development process. In many investigations, the estimates of such a rate are often oversimplified or misunderstood generating unrealistic expectations on the prediction power of regression models with a fault criterion. The computation of fault introduction rates in software development requires accurate and consistent measurement, which translates into demanding parallel efforts for the development organization. This paper presents the techniques and mechanisms that can be implemented in a software development organization to provide a consistent method of anticipating fault content and structural evolution across multiple projects over time. The initial estimates of fault introduction rates can serve as a baseline against which future projects can be compared to determine whether progress is being made in reducing the fault introduction rate, and to identify those development techniques that seem to provide the greatest reduction.

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

  • Chillarege, R., Bhandari, I., Chaar, J., Halliday, M., Moebus, D., Ray, B., and Wong, M. Y. 1992. Orthogonal defect classification—A concept for in-process measurement. IEEE Transactions on Software Engineering 18(11): 943–946.

    Google Scholar 

  • Elbaum, S. G., and Munson, J. C. 1998. A standard for the measurement of C complexity attributes. Technical report: TR-CS–98–02, Software Engineering Testing Lab, University of Idaho.

  • Elbaum, S. G., and Munson, J. C. 1998. Code churn: A measure for estimating the impact of code change. Proceedings of the International Conference on Software Maintenance, 24–31.

  • Fenton, N. E. 1994. Software measurement: A necessary scientific basis. IEEE Transactions in Software Engineering 20(3): 199–206.

    Google Scholar 

  • IEEE Standard Dictionary of Measures to Produce Reliable Software. 1989. IEEE Std. 982.1. Institute of Electrical and Electronics Engineers.

  • IEEE Standard Classification for Software Anomalies. 1993. IEEE Std. 1044. Institute of Electrical and Electronics Engineers.

  • Khoshgoftaar, T. M., and Munson, J. C. 1990. Predicting software development errors using complexity metrics. Journal on Selected Areas in Communications 8: 253–261.

    Google Scholar 

  • Khoshgoftaar, T. M., and Munson, J. C. 1992. A measure of software system complexity and its relationship to faults. Proceedings of the International Simulation Technology Conference San Diego, CA, 267–272.

  • Luqi. 1990. A graph mode for software evolution. IEEE Transactions on Software Engineering 16(8): 917–920.

    Google Scholar 

  • Munson, J. C., and Khoshgoftaar, T.M. 1990. Regression modeling of software quality: An empirical investigation. Journal of Information and Software Technology 32: 105–114.

    Google Scholar 

  • Munson, J. C., and Khoshgoftaar, T. M. 1990. The relative software complexity metric: A validation study. Proceedings of the Software Engineering Conference. Cambridge, UK, 89–102.

  • Munson, J. C., and Khoshgoftaar, T. M. 1992. The detection of fault-prone programs. IEEE Transactions on Software Engineering 18(5): 423–433.

    Google Scholar 

  • Munson, J. C. 1995. Software measurement: problems and practice. Annals of Software Engineering J. C. Baltzer AG, (1): 255–285.

  • Munson, J. C. 1996. Software faults, software failures, and software reliability modeling. Information and Software Technology N38: 687–699.

    Google Scholar 

  • Munson, J. C., and Werries, D. S. 1996. Measuring software evolution. Proceedings of the 1996 IEEE International Software Metrics Symposium, Berlin, Germany, 41–51.

  • Musa, J. 1989. Faults, failures and a metrics revolution. IEEE Software 6(2): 85–91.

    Google Scholar 

  • Nikora, A. P. 1998. Software system defect content prediction from development process and product characteristics. Doctoral dissertation, Department of Computer Science, University of Southern California.

  • Nikora, A. P., Schneidewind, N. F., Munson, J. C. 1997. V&V issues in achieving high reliability and safety in critical control system software. Proceedings of the International Society of Science and Applied Technological Conference, Anaheim, California, 25–30.

  • Nikora, A. P., and Munson, J. C 1998. Software evolution and the fault process. Proceedings of the twenty third annual software engineering workshop, NASA/Goddard Space Flight Center (GSFC) Software Engineering Laboratory (SEL).

  • Nikora, A. P., Munson, J. C. 1998. Determining fault insertion rates for evolving software systems. Proceedings of the 1998 IEEE International Symposium of Software Reliability Engineering, Paderborn, Germany, IEEE Computer Society Press.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Elbaum, S.G., Munson, J.C. Software Evolution and the Code Fault Introduction Process. Empirical Software Engineering 4, 241–262 (1999). https://doi.org/10.1023/A:1009830727593

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1009830727593

Navigation