Tool for predicting fault-prone software files
First Claim
1. A method of identifying software texts likely to include faults, the method comprising:
- calculating, by a computing device, values of numerical coefficients included in a first set of equations representing linear combinations, the first set of equations including values of feature vectors associated with a first set of software texts, the first set of equations including values of fault counts associated with the first set of software texts;
calculating, by the computing device, values of fault counts using a second set of equations representing linear combinations, the calculated values of fault counts being associated with a second set of texts, the second set of equations including the calculated values of the numerical coefficients included in the first set of equations and values of feature vectors associated with the second set of texts; and
ranking, by the computing device, the second set of software texts based on the values of fault counts associated with the second set of equations.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, apparatus, and computer-readable medium for predicting the fault-proneness of code units (files, modules, packages, and the like) of large-scale, long-lived software systems. The method collects information about the code units and the development process from previous releases, and formats this information for input to an analysis stage. The tool then performs a statistical regression analysis on the collected data, and formulates a model to predict fault counts for code units of the current and future releases. Finally, the method computes an expected fault count for each code unit in the current release by applying the formulated model to data from the current release. The expected fault counts are used to rank the release units in descending order of fault-proneness so that debugging efforts and resources can be optimized.
19 Citations
20 Claims
-
1. A method of identifying software texts likely to include faults, the method comprising:
-
calculating, by a computing device, values of numerical coefficients included in a first set of equations representing linear combinations, the first set of equations including values of feature vectors associated with a first set of software texts, the first set of equations including values of fault counts associated with the first set of software texts; calculating, by the computing device, values of fault counts using a second set of equations representing linear combinations, the calculated values of fault counts being associated with a second set of texts, the second set of equations including the calculated values of the numerical coefficients included in the first set of equations and values of feature vectors associated with the second set of texts; and ranking, by the computing device, the second set of software texts based on the values of fault counts associated with the second set of equations. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus to identify software texts likely to include faults comprising a computing device, the computing device configured to:
-
calculate values of numeric coefficients included in a first set of equations representing linear combinations, the first set of equations including values of feature vectors associated with a first set of software texts, the first set of equations including values of fault counts associated with the first set of software texts; calculate values of fault counts using a second set of equations representing linear combinations, the calculated values of fault counts being associated with a second set of texts, the second set of equations including the calculated values of the numerical coefficients included in the first set of equations and values of feature vectors associated with the second set of texts; and rank the second set of software texts based on the values of fault counts associated with the second set of equations. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-readable medium comprising instructions that, when executed by a computing device, cause the computing device to:
-
calculate values of numerical coefficients included in a first set of equations representing linear combinations, the first set of equations including values of feature vectors associated with a first set of software texts, the first set of equations including values of fault counts associated with the first set of software texts; calculate values of fault counts using a second set of equations representing linear combinations, the calculated values of fault counts being associated with a second set of texts, the second set of equations including the calculated values of the numerical coefficients included in the first set of equations and values of feature vectors associated with the second set of texts; and rank the second set of software texts based on the values of fault counts associated with the second set of equations. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification