Classifying Software Changes: Clean or Buggy?

Abstract

Enter Abstract Here


Notes

Enter Notes Here


BibTeX Reference

@ARTICLE{sunghun08TSE, 
title={Classifying Software Changes: Clean or Buggy?}, 
author={Sunghun Kim and Whitehead, E.J. and Yi Zhang}, 
journal={Software Engineering, IEEE Transactions on}, 
year={2008}, 
month={March-April }, 
volume={34}, 
number={2}, 
pages={181-196}, 
abstract={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.}, 
keywords={data mining, feature extraction, learning (artificial intelligence), program debugging, software maintenance, software metricsassociation rule, change classification, feature extraction, machine learning classifier, open source projects, programming languages, software change, software configuration management repository, software maintenance, software metrics, software project}, 
doi={10.1109/TSE.2007.70773}, 
ISSN={0098-5589}, }
Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License