Classifying Software Changes: Clean or Buggy?

By Sunghun Kim, E. James Jr. Whitehead, Yi Zhang. IEEE Transactions on Software Engineering, 2008

661 citations recorded by the source corpus.

This paper introduces a new technique for predicting 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 stored in its software configuration management repository. The trained classifier can classify changes as buggy or clean, with a 78 percent accuracy and a 60 percent 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 the completion of a change. Contributions of this paper include a description of the change classification approach, techniques for extracting features from the source code and change histories, a characterization of the performance of change classification across 12 open source projects, and an evaluation of the predictive power of different groups of features.

Subfields: Computer Networks and Communications, Information Systems, Software

View Paper: https://www.semanticscholar.org/paper/9f905c4050131f82bcfb503a580cfcfdedc25fc9

How researchers see this paper

The researchers whose trusted networks rank it highest, strongest advocate first. Every researcher gets a different order.

In Computer Networks and Communications

  1. Ahmed E. Hassan
  2. Sunghun Kim
  3. Kim Herzig
  4. Andreas Zeller
  5. Hongyu Zhang
  6. Jaechang Nam
  7. Rongxin Wu
  8. Denys Poshyvanyk

In Information Systems

  1. Sunghun Kim
  2. Ahmed E. Hassan
  3. Shane McIntosh
  4. Hongyu Zhang
  5. Jaechang Nam
  6. Andreas Zeller
  7. Bram Adams
  8. Yasutaka Kamei

In Software

  1. Ahmed E. Hassan
  2. Sunghun Kim
  3. Shane McIntosh
  4. Jaechang Nam
  5. Andreas Zeller
  6. Hongyu Zhang
  7. Bram Adams
  8. Yasutaka Kamei

Citations in the corpus