An evaluation of some design metrics
Software Engineering Journal - Special issue: on software reliability and metrics
Predicting Fault Incidence Using Software Change History
IEEE Transactions on Software Engineering
The Confounding Effect of Class Size on the Validity of Object-Oriented Metrics
IEEE Transactions on Software Engineering
Some Misconceptions About Lines of Code
METRICS '97 Proceedings of the 4th International Symposium on Software Metrics
ISSTA '04 Proceedings of the 2004 ACM SIGSOFT international symposium on Software testing and analysis
Use of relative code churn measures to predict system defect density
Proceedings of the 27th international conference on Software engineering
MSR '05 Proceedings of the 2005 international workshop on Mining software repositories
Predicting Defects for Eclipse
PROMISE '07 Proceedings of the Third International Workshop on Predictor Models in Software Engineering
Quality Assessment Based on Attribute Series of Software Evolution
WCRE '07 Proceedings of the 14th Working Conference on Reverse Engineering
Enabling static analysis for partial java programs
Proceedings of the 23rd ACM SIGPLAN conference on Object-oriented programming systems languages and applications
Trend Analysis and Issue Prediction in Large-Scale Open Source Systems
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
Tracking concept drift of software projects using defect prediction quality
MSR '09 Proceedings of the 2009 6th IEEE International Working Conference on Mining Software Repositories
ICDM '09 Proceedings of the 2009 Ninth IEEE International Conference on Data Mining
Defect prediction from static code features: current results, limitations, new approaches
Automated Software Engineering
Change Bursts as Defect Predictors
ISSRE '10 Proceedings of the 2010 IEEE 21st International Symposium on Software Reliability Engineering
An explanatory analysis on eclipse beta-release bugs through in-process metrics
Proceedings of the 8th international workshop on Software quality
Are the Clients of Flawed Classes (Also) Defect Prone?
SCAM '11 Proceedings of the 2011 IEEE 11th International Working Conference on Source Code Analysis and Manipulation
Measuring Architectural Change for Defect Estimation and Localization
ESEM '11 Proceedings of the 2011 International Symposium on Empirical Software Engineering and Measurement
Uncovering Causal Relationships between Software Metrics and Bugs
CSMR '12 Proceedings of the 2012 16th European Conference on Software Maintenance and Reengineering
Hi-index | 0.00 |
Many approaches to determine the fault-proneness of code artifacts rely on historical data of and about these artifacts. These data include the code and how it was changed over time, and information about the changes from version control systems. Each of these can be considered at different levels of granularity. The level of granularity can substantially influence the estimated fault-proneness of a code artifact. Typically, the level of detail oscillates between releases and commits on the one hand, and single lines of code and whole files on the other hand. Not every information may be readily available or feasible to collect at every level, though, nor does more detail necessarily improve the results. Our approach is based on time series of changes in method-level dependencies and churn on a commit-to-commit basis for two systems, Spring and Eclipse. We identify sets of classes with distinct properties of the time series of their change histories. We differentiate between classes based on temporal patterns of change. Based on this differentiation, we show that our measure of structural change in concert with its complement, churn, effectively indicates fault-proneness in classes. We also use windows on time series to select sets of commits and show that changes over short amounts of time do effectively indicate the fault-proneness of classes.