[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
research-article

Classifying Software Changes: Clean or Buggy?

Published: 01 March 2008 Publication History

Abstract

This paper introduces a new technique for finding latent software bugs called change classification. Change classification uses a machine learning classifier to determine whether a new software change is more similar to prior buggy changes, or clean changes. In this manner, change classification predicts the existence of bugs in software changes. The classifier is trained using features (in the machine learning sense) extracted from the revision history of a software project, as stored in its software configuration management repository. The trained classifier can classify changes as buggy or clean with 78% accuracy and 65% buggy change recall (on average). Change classification has several desirable qualities: (1) the prediction granularity is small (a change to a single file), (2) predictions do not require semantic information about the source code, (3) the technique works for a broad array of project types and programming languages, and (4) predictions can be made immediately upon completion of a change. Contributions of the paper include a description of the change classification approach, techniques for extracting features from source code and change histories, a characterization of the performance of change classification across 12 open source projects, and evaluation of the predictive power of different groups of features.

Cited By

View all
  • (2024)Data Complexity: A New Perspective for Analyzing the Difficulty of Defect Prediction TasksACM Transactions on Software Engineering and Methodology10.1145/364959633:6(1-45)Online publication date: 27-Jun-2024
  • (2024)Software Vulnerability and Functionality Assessment using Large Language ModelsProceedings of the Third ACM/IEEE International Workshop on NL-based Software Engineering10.1145/3643787.3648036(25-28)Online publication date: 20-Apr-2024
  • (2024)Estimating Uncertainty in Labeled Changes by SZZ Tools on Just-In-Time Defect PredictionACM Transactions on Software Engineering and Methodology10.1145/363722633:4(1-25)Online publication date: 18-Apr-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image IEEE Transactions on Software Engineering
IEEE Transactions on Software Engineering  Volume 34, Issue 2
March 2008
143 pages

Publisher

IEEE Press

Publication History

Published: 01 March 2008

Author Tags

  1. Clustering
  2. Configuration Management
  3. Data mining
  4. Metrics/Measurement
  5. Software maintenance
  6. and association rules
  7. classification

Qualifiers

  • Research-article

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 12 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)Data Complexity: A New Perspective for Analyzing the Difficulty of Defect Prediction TasksACM Transactions on Software Engineering and Methodology10.1145/364959633:6(1-45)Online publication date: 27-Jun-2024
  • (2024)Software Vulnerability and Functionality Assessment using Large Language ModelsProceedings of the Third ACM/IEEE International Workshop on NL-based Software Engineering10.1145/3643787.3648036(25-28)Online publication date: 20-Apr-2024
  • (2024)Estimating Uncertainty in Labeled Changes by SZZ Tools on Just-In-Time Defect PredictionACM Transactions on Software Engineering and Methodology10.1145/363722633:4(1-25)Online publication date: 18-Apr-2024
  • (2024)Evaluating SZZ Implementations: An Empirical Study on the Linux KernelIEEE Transactions on Software Engineering10.1109/TSE.2024.340671850:9(2219-2239)Online publication date: 29-May-2024
  • (2024)JITGNNJournal of Systems and Software10.1016/j.jss.2024.111984210:COnline publication date: 1-Apr-2024
  • (2024)Revealing code change propagation channels by evolution history miningJournal of Systems and Software10.1016/j.jss.2023.111912208:COnline publication date: 1-Feb-2024
  • (2024)An exploratory study on just-in-time multi-programming-language bug predictionInformation and Software Technology10.1016/j.infsof.2024.107524175:COnline publication date: 18-Nov-2024
  • (2024)VALIDATEInformation and Software Technology10.1016/j.infsof.2024.107448170:COnline publication date: 1-Jun-2024
  • (2024)Online cross-project approach with project-level similarity for just-in-time software defect predictionEmpirical Software Engineering10.1007/s10664-024-10551-829:6Online publication date: 1-Oct-2024
  • (2024)IRJIT: A simple, online, information retrieval approach for just-in-time software defect predictionEmpirical Software Engineering10.1007/s10664-024-10514-z29:5Online publication date: 2-Aug-2024
  • Show More Cited By

View Options

View options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media