skip to main content
10.1145/1062455.1062514acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Use of relative code churn measures to predict system defect density

Published: 15 May 2005 Publication History

Abstract

Software systems evolve over time due to changes in requirements, optimization of code, fixes for security and reliability bugs etc. Code churn, which measures the changes made to a component over a period of time, quantifies the extent of this change. We present a technique for early prediction of system defect density using a set of relative code churn measures that relate the amount of churn to other variables such as component size and the temporal extent of churn.Using statistical regression models, we show that while absolute measures of code churn are poor predictors of defect density, our set of relative measures of code churn is highly predictive of defect density. A case study performed on Windows Server 2003 indicates the validity of the relative code churn measures as early indicators of system defect density. Furthermore, our code churn metric suite is able to discriminate between fault and not fault-prone binaries with an accuracy of 89.0 percent.

References

[1]
ANSI/IEEE, "IEEE Standard Glossary of Software Engineering Terminology, Standard 729," 1983.
[2]
Basili, V., Shull, F.,Lanubile, F., "Building Knowledge through Families of Experiments," IEEE Transactions on Software Engineering, Vol. Vol. 25, No.4, No., 1999.
[3]
Boehm, B. W., Software Engineering Economics. Englewood Cliffs, NJ: Prentice-Hall, Inc., 1981.
[4]
Brace, N., Kemp, R., Snelgar, R., SPSS for Psychologists: Palgrave Macmillan, 2003.
[5]
Brito e Abreu, F., Melo, W., "Evaluating the Impact of Object-Oriented Design on Software Quality," Proceedings of Third International Software Metrics Symposium, 1996, pp. 90--99.
[6]
Denaro, G., Pezze, M., "An Empirical Evaluation of Fault-Proneness Models," Proceedings of International Conference on Software Engineering, 2002, pp. 241--251.
[7]
Fenton, N. E., Ohlsson, N., "Quantitative analysis of faults and failures in a complex software system," IEEE Transactions on Software Engineering, Vol. 26, No. 8, pp. 797--814, 2000.
[8]
Fenton, N. E., Pfleeger, S.L., Software Metrics. Boston, MA: International Thompson Publishing, 1997.
[9]
Graves, T. L., Karr, A.F., Marron, J.S., Siy, H., "Predicting Fault Incidence Using Software Change History," IEEE Transactions on Software Engineering, Vol. 26, No. 7, pp. 653--661, 2000.
[10]
Jackson, E. J., A User's Guide to Principal Components: John Wiley & Sons, Inc., 1991.
[11]
Kaiser, H. F., "An Index of Factorial Simplicity," Psychometrika, Vol. 39, No., pp. 31--36, 1974.
[12]
Karunanithi, N., "A Neural Network approach for Software Reliability Growth Modeling in the Presence of Code Churn," Proceedings of International Symposium on Software Reliability Engineering, 1993, pp. 310--317.
[13]
Khoshgoftaar, T. M., Allen, E.B., Goel, N., Nandi, A., McMullan, J., "Detection of Software Modules with high Debug Code Churn in a very large Legacy System," Proceedings of International Symposium on Software Reliability Engineering, 1996, pp. 364--371.
[14]
Khoshgoftaar, T. M., Allen, E.B., Kalaichelvan, K.S., Goel, N., Hudepohl, J.P., Mayrand, J., "Detection of fault-prone program modules in a very large telecommunications system," Proceedings of International Symposium Software Reliability Engineering, 1995, pp. 24--33.
[15]
Khoshgoftaar, T. M., Szabo, R.M., "Improving Code Churn Predictions During the System Test and Maintenance Phases," Proceedings of IEEE International Conference on Software Maintainence, 1994, pp. 58--67.
[16]
Kleinbaum, D. G., Kupper, L.L., Muller, K.E., Applied Regression Analysis and Other Multivariable Methods. Boston: PWS-KENT Publishing Company, 1987.
[17]
Munson, J. C., Elbaum, S., "Code Churn: A Measure for Estimating the Impact of Code Change," Proceedings of IEEE International Conference on Software Maintenance, 1998, pp. 24--31.
[18]
Munson, J. C., Khoshgoftaar, T.M., "The Detection of Fault-Prone Programs," IEEE Transactions on Software Engineering, Vol. 18, No. 5, pp. 423--433, 1992.
[19]
Ohlsson, M. C., von Mayrhauser, A., McGuire, B., Wohlin, C., "Code Decay Analysis of Legacy Software through Successive Releases," Proceedings of IEEE Aerospace Conference, 1999, pp. 69--81.
[20]
Ostrand, T. J., Weyuker, E.J, Bell, R.M., "Where the Bugs Are," Proceedings of the 2004 ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA), 2004, pp. 86--96.

Cited By

View all
  • (2025)Impact of methodological choices on the analysis of code metrics and maintenanceJournal of Systems and Software10.1016/j.jss.2024.112263220(112263)Online publication date: Feb-2025
  • (2025)Enhanced code reviews using pull request based change impact analysisEmpirical Software Engineering10.1007/s10664-024-10600-230:3Online publication date: 1-Jun-2025
  • (2025)Exploring Defect Density Prediction: A Comparative Analysis of Feature Reduction Techniques and Staking MethodologyIntelligent Solutions for Smart Adaptation in Digital Era10.1007/978-981-97-8193-5_4(39-50)Online publication date: 14-Feb-2025
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '05: Proceedings of the 27th international conference on Software engineering
May 2005
754 pages
ISBN:1581139632
DOI:10.1145/1062455
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 15 May 2005

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. defect density
  2. fault-proneness
  3. multiple regression
  4. principal component analysis
  5. relative code churn

Qualifiers

  • Article

Conference

ICSE05
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)76
  • Downloads (Last 6 weeks)22
Reflects downloads up to 07 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2025)Impact of methodological choices on the analysis of code metrics and maintenanceJournal of Systems and Software10.1016/j.jss.2024.112263220(112263)Online publication date: Feb-2025
  • (2025)Enhanced code reviews using pull request based change impact analysisEmpirical Software Engineering10.1007/s10664-024-10600-230:3Online publication date: 1-Jun-2025
  • (2025)Exploring Defect Density Prediction: A Comparative Analysis of Feature Reduction Techniques and Staking MethodologyIntelligent Solutions for Smart Adaptation in Digital Era10.1007/978-981-97-8193-5_4(39-50)Online publication date: 14-Feb-2025
  • (2025)Dissecting Code Features: An Evolutionary Analysis of Kernel Versus Nonkernel Code in Operating SystemsJournal of Software: Evolution and Process10.1002/smr.275237:1Online publication date: 25-Jan-2025
  • (2024)Understanding Vulnerability Inducing Commits of the Linux KernelACM Transactions on Software Engineering and Methodology10.1145/367245233:7(1-28)Online publication date: 14-Jun-2024
  • (2024)Towards Better Graph Neural Network-Based Fault Localization through Enhanced Code RepresentationProceedings of the ACM on Software Engineering10.1145/36607931:FSE(1937-1959)Online publication date: 12-Jul-2024
  • (2024)Risky Dynamic Typing-related Practices in Python: An Empirical StudyACM Transactions on Software Engineering and Methodology10.1145/364959333:6(1-35)Online publication date: 27-Jun-2024
  • (2024)Method-level Bug Prediction: Problems and PromisesACM Transactions on Software Engineering and Methodology10.1145/364033133:4(1-31)Online publication date: 13-Jan-2024
  • (2024)An empirical study of just-in-time-defect prediction using various machine learning techniquesInternational Journal of Computers and Applications10.1080/1206212X.2024.232848946:6(397-406)Online publication date: 20-Mar-2024
  • (2024)JITGNN: A deep graph neural network framework for Just-In-Time bug predictionJournal of Systems and Software10.1016/j.jss.2024.111984210(111984)Online publication date: Apr-2024
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media