Title :
Assessing the applicability of fault-proneness models across object-oriented software projects
Author :
Briand, Lionel C. ; Melo, Walcelio L. ; Wust, J.
Author_Institution :
Software Quality Eng. Lab., Carleton Univ., Ottawa, Ont., Canada
fDate :
7/1/2002 12:00:00 AM
Abstract :
A number of papers have investigated the relationships between design metrics and the detection of faults in object-oriented software. Several of these studies have shown that such models can be accurate in predicting faulty classes within one particular software product. In practice, however, prediction models are built on certain products to be used on subsequent software development projects. How accurate can these models be, considering the inevitable differences that may exist across projects and systems? Organizations typically learn and change. From a more general standpoint, can we obtain any evidence that such models are economically viable tools to focus validation and verification effort? This paper attempts to answer these questions by devising a general but tailorable cost-benefit model and by using fault and design data collected on two mid-size Java systems developed in the same environment. Another contribution of the paper is the use of a novel exploratory analysis technique - MARS (multivariate adaptive regression splines) to build such fault-proneness models, whose functional form is a-priori unknown. The results indicate that a model built on one system can be accurately used to rank classes within another system according to their fault proneness. The downside, however, is that, because of system differences, the predicted fault probabilities are not representative of the system predicted. However, our cost-benefit model demonstrates that the MARS fault-proneness model is potentially viable, from an economical standpoint. The linear model is not nearly as good, thus suggesting a more complex model is required.
Keywords :
cost-benefit analysis; object-oriented programming; project management; software development management; software metrics; software reliability; splines (mathematics); statistical analysis; MARS; a-priori unknown functional form; cost-benefit model; cross-validation; economically viable tools; empirical validation; exploratory analysis technique; fault detection; fault probabilities; fault-proneness model applicability assessment; faulty class prediction; mid-size Java systems; multivariate adaptive regression splines; object-oriented software projects; organizational change; organizational learning; software design metrics; software development projects; software validation; software verification; system class ranking; Accuracy; Computer Society; Economic forecasting; Environmental economics; Fault detection; Java; Logistics; Mars; Object oriented modeling; Predictive models;
Journal_Title :
Software Engineering, IEEE Transactions on
DOI :
10.1109/TSE.2002.1019484