On the relation of refactorings and software defect prediction
J. Ratzinger, T. Sigmund, and H. Gall. MSR '08: Proceedings of the 2008 international workshop on Mining software repositories, page 35--38. New York, USA, ACM, (2008)
Abstract
This paper analyzes the influence of evolution activities such as refactoring on software defects. In a case study of five open source projects we used attributes of software evolution to predict defects in time periods of six months. We use versioning and issue tracking systems to extract 110 data mining features, which are separated into refactoring and non-refactoring related features. These features are used as input into classification algorithms that create prediction models for software defects. We found out that refactoring related features as well as non-refactoring related features lead to high quality prediction models. Additionally, we discovered that refactorings and defects have an inverse correlation: The number of software defects decreases, if the number of refactorings increased in the preceding time period. As a result, refactoring should be a significant part of both bug fixes and other evolutionary changes to reduce software defects.
%0 Conference Paper
%1 paper:ratzinger:2008
%A Ratzinger, Jacek
%A Sigmund, Thomas
%A Gall, Harald C.
%B MSR '08: Proceedings of the 2008 international workshop on Mining software repositories
%C New York, USA
%D 2008
%I ACM
%K 2008 defects msr predicting refactor software to-read
%P 35--38
%T On the relation of refactorings and software defect prediction
%X This paper analyzes the influence of evolution activities such as refactoring on software defects. In a case study of five open source projects we used attributes of software evolution to predict defects in time periods of six months. We use versioning and issue tracking systems to extract 110 data mining features, which are separated into refactoring and non-refactoring related features. These features are used as input into classification algorithms that create prediction models for software defects. We found out that refactoring related features as well as non-refactoring related features lead to high quality prediction models. Additionally, we discovered that refactorings and defects have an inverse correlation: The number of software defects decreases, if the number of refactorings increased in the preceding time period. As a result, refactoring should be a significant part of both bug fixes and other evolutionary changes to reduce software defects.
@inproceedings{paper:ratzinger:2008,
abstract = {This paper analyzes the influence of evolution activities such as refactoring on software defects. In a case study of five open source projects we used attributes of software evolution to predict defects in time periods of six months. We use versioning and issue tracking systems to extract 110 data mining features, which are separated into refactoring and non-refactoring related features. These features are used as input into classification algorithms that create prediction models for software defects. We found out that refactoring related features as well as non-refactoring related features lead to high quality prediction models. Additionally, we discovered that refactorings and defects have an inverse correlation: The number of software defects decreases, if the number of refactorings increased in the preceding time period. As a result, refactoring should be a significant part of both bug fixes and other evolutionary changes to reduce software defects.},
added-at = {2008-05-30T09:44:16.000+0200},
address = {New York, USA},
author = {Ratzinger, Jacek and Sigmund, Thomas and Gall, Harald C.},
biburl = {https://www.bibsonomy.org/bibtex/28d2e0f91430c35918c9c10efe5fe8a2e/mschuber},
booktitle = {MSR '08: Proceedings of the 2008 international workshop on Mining software repositories},
interhash = {2452b294a2eea5962514482d88c12127},
intrahash = {8d2e0f91430c35918c9c10efe5fe8a2e},
keywords = {2008 defects msr predicting refactor software to-read},
pages = {35--38},
publisher = {ACM},
timestamp = {2008-09-09T12:57:03.000+0200},
title = {On the relation of refactorings and software defect prediction},
year = 2008
}