A Critique of Software Defect Prediction Models
IEEE Transactions on Software Engineering
Uncertain Classification of Fault-Prone Software Modules
Empirical Software Engineering
Static analysis tools as early indicators of pre-release defect density
Proceedings of the 27th international conference on Software engineering
Fine-Grained Analysis of Change Couplings
SCAM '05 Proceedings of the Fifth IEEE International Workshop on Source Code Analysis and Manipulation
Are refactorings less error-prone than other changes?
Proceedings of the 2006 international workshop on Mining software repositories
Data Mining: Practical Machine Learning Tools and Techniques, Second Edition (Morgan Kaufmann Series in Data Management Systems)
Predicting Faults from Cached History
ICSE '07 Proceedings of the 29th international conference on Software Engineering
Mining Software Evolution to Predict Refactoring
ESEM '07 Proceedings of the First International Symposium on Empirical Software Engineering and Measurement
Change Distilling: Tree Differencing for Fine-Grained Source Code Change Extraction
IEEE Transactions on Software Engineering
How we refactor, and how we know it
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
Gathering refactoring data: a comparison of four methods
Proceedings of the 2nd Workshop on Refactoring Tools
Fault-prone module detection using large-scale text features based on spam filtering
Empirical Software Engineering
An integrated approach to detect fault-prone modules using complexity and text feature metrics
AST/UCMA/ISA/ACN'10 Proceedings of the 2010 international conference on Advances in computer science and information technology
Automatically identifying changes that impact code-to-design traceability during evolution
Software Quality Control
An empirical investigation into the role of API-level refactorings during software evolution
Proceedings of the 33rd International Conference on Software Engineering
A field study of refactoring challenges and benefits
Proceedings of the ACM SIGSOFT 20th International Symposium on the Foundations of Software Engineering
Comparing approaches to analyze refactoring activity on software repositories
Journal of Systems and Software
How changes affect software entropy: an empirical study
Empirical Software Engineering
Investigating the evolution of code smells in object-oriented systems
Innovations in Systems and Software Engineering
Hi-index | 0.00 |
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.