Classification of Fault-Prone Software Modules: Prior Probabilities,Costs, and Model Evaluation
Empirical Software Engineering
Controlling Overfitting in Classification-Tree Models ofSoftware Quality
Empirical Software Engineering
Uncertain Classification of Fault-Prone Software Modules
Empirical Software Engineering
Balancing Misclassification Rates in Classification-TreeModels of Software Quality
Empirical Software Engineering
Predicting Fault-Prone Modules with Case-Based Reasoning
ISSRE '97 Proceedings of the Eighth International Symposium on Software Reliability Engineering
Classification Tree Models of Software Quality Over Multiple Releases
ISSRE '99 Proceedings of the 10th International Symposium on Software Reliability Engineering
Hi-index | 0.00 |
Tactical military software is required to have high reliability. Each software function is often considered mission critical, and the lives of military personnel often depend on mission success. The paper presents a tree based modeling method for identifying fault prone software modules, which has been applied to a subsystem of the Joint Surveillance Target Attack Radar System, JSTPARS, a large tactical military system. We developed a decision tree model using software product metrics from one iteration of a spiral life cycle to predict whether or not each module in the next iteration would be considered fault prone. Model results could be used to identify those modules that would probably benefit from extra reviews and testing and thus reduce the risk of discovering faults later on. Identifying fault prone modules early in the development can lead to better reliability. High reliability of each iteration translates into a highly reliable final product. A decision tree also facilitates interpretation of software product metrics to characterize the fault prone class. The decision tree was constructed using the TREED-ISC algorithm which is a refinement of the CHAID algorithm. This algorithm partitions the ranges of independent variables based on chi squared tests with the dependent variable. In contrast to algorithms used by previous tree based studies of software metric data, there is no restriction to binary trees, and statistically significant relationships with the dependent variable are the basis for branching.