The Effects of Fault Counting Methods on Fault Model Quality
COMPSAC '04 Proceedings of the 28th Annual International Computer Software and Applications Conference - Volume 01
An approach to the measurement of software evolution: Research Articles
Journal of Software Maintenance and Evolution: Research and Practice - 2003 International Conference on Software Maintenance: The Architectural Evolution of Systems
Predicting fault-prone components in a java legacy system
Proceedings of the 2006 ACM/IEEE international symposium on Empirical software engineering
An empirical study into class testability
Journal of Systems and Software - Special issue: Selected papers from the 4th source code analysis and manipulation (SCAM 2004) workshop
Journal of Systems and Software
Data Mining Static Code Attributes to Learn Defect Predictors
IEEE Transactions on Software Engineering
Improving fault detection in modified code: a study from the telecommunication industry
Journal of Computer Science and Technology
Anomaly-based fault detection in pervasive computing system
Proceedings of the 5th international conference on Pervasive services
On the relative value of cross-company and within-company data for defect prediction
Empirical Software Engineering
EQ-mine: predicting short-term defects for software evolution
FASE'07 Proceedings of the 10th international conference on Fundamental approaches to software engineering
Defect prediction from static code features: current results, limitations, new approaches
Automated Software Engineering
Rank-based refactoring decision support: two studies
Innovations in Systems and Software Engineering
Fault links: exploring the relationship between module and fault types
EDCC'05 Proceedings of the 5th European conference on Dependable Computing
Regularities in learning defect predictors
PROFES'10 Proceedings of the 11th international conference on Product-Focused Software Process Improvement
Evaluating defect prediction approaches: a benchmark and an extensive comparison
Empirical Software Engineering
The Journal of Supercomputing
Towards a model to support in silico studies of software evolution
Proceedings of the ACM-IEEE international symposium on Empirical software engineering and measurement
Hi-index | 0.00 |
Over the past several years, we have been developing methods of predicting the fault content of software systems based on measured characteristics of their structural evolution. In previous work, we have shown there is a significant linear relationship between code churn, a synthesized metric, and the rate at which faults are inserted into the system in terms of number of faults per unit change in code churn. A limiting factor in this and other investigations of a similar nature has been the absence of a solid and repeatable definition of the concept of a fault. The rules for fault definition were not sufficiently rigorous to provide completely unambiguous and repeatable fault counts.We have begun a new investigation of this relationship with a flight software technology development effort at the Jet Propulsion Laboratory (JPL) and have progressed in resolving the limitations of the earlier work in two distinct steps. First, we have developed a standard for the enumeration of faults. This new standard permits software faults to be measured precisely and accurately. Second, we have developed a practical framework for automating the measurement of these faults. This new standard and fault measurement process was then applied to a software system's structural evolution during its development. Every change to the software system was measured and every fault was identified and tracked to a specific line of code. The measurement process was implemented in a network appliance, minimizing the impact of measurement activities on development efforts and enabling the comparison of measurements across multiple development efforts.In this paper, we analyze the measurements of structural evolution and fault counts obtained from the JPL flight software technology development effort. Our results indicate that the measures of structural attributes of the evolving software system are suitable for forming predictors of the number of faults inserted into software modules during their development. The new fault standard also insures that the model so developed has greater predictive validity.