Comparative study of ordering and classification of fault-prone software modules

被引:27
作者
Khoshgoftaar T.M. [1 ]
Allen E.B. [1 ]
机构
[1] Dept. of Comp. Sci. and Engineering, Florida Atlantic University, Boca Raton
关键词
Software reliability; fault-prone modules; software quality models; module-order models; multiple linear regression; nonparametric discriminant analysis; principal components analysis;
D O I
10.1023/A:1009876418873
中图分类号
学科分类号
摘要
Software quality models can predict the quality of modules early enough for cost-effective prevention of problems. For example, software product and process metrics can be the basis for predicting reliability. Predicting the exact number of faults is often not necessary; classification models can identify fault-prone modules. However, such models require that 'fault-prone' be defined before modeling, usually via a threshold. This may not be practical due to uncertain limits on the amount of reliability-improvement effort. In such cases, predicting the rank-order of modules is more useful. A module-order model predicts the rank-order of modules according to a quantitative quality factor, such as the number of faults. This paper demonstrates how module-order models can be used for classification, and compares them with statistical classification models. Two case studies of full-scale industrial software systems compared nonparametric discriminant analysis with module-order models. One case study examined a military command, control, and communications system. The other studied a large legacy telecommunications system. We found that module-order models give management more flexible reliability enhancement strategies than classification models, and in these case studies, yielded more accurate results than corresponding discriminant models.
引用
收藏
页码:159 / 186
页数:27
相关论文
共 47 条
[1]  
Basili V.R., Briand L.C., Melo W., A validation of object-oriented design metrics as quality indicators, IEEE Transactions on Software Engineering, 22, 10, pp. 751-761, (1996)
[2]  
Basili V.R., Selby R.W., Hutchens D.H., Experimentation in software engineering, IEEE Transactions on Software Engineering, SE-12, 7, pp. 733-743, (1986)
[3]  
Briand L.C., Basili V.R., Hetmanski C.J., Developing interpretable models with optimized set reduction for identifying high-risk software components, IEEE Transactions on Software Engineering, 19, 11, pp. 1028-1044, (1993)
[4]  
Briand L.C., Basili V.R., Thomas W.M., A pattern recognition approach for software engineering data analysis, IEEE Transactions on Software Engineering, 18, 11, pp. 931-942, (1992)
[5]  
Briand L.C., El Emam K., Morasca S., On the application of measurement theory in software engineering, Empirical Software Engineering: An International Journal, 1, 1, pp. 61-88, (1996)
[6]  
Dillon W.R., Goldstein M., Multivariate Analysis: Methods and Applications, (1984)
[7]  
Ebert C., Classification techniques for metric-based software development, Software Quality Journal, 5, 4, pp. 255-272, (1996)
[8]  
Ebert C., Experiences with criticality predictions in software development, Software Engineering -ESEC/FSE '97: Proceedings of the Sixth European Software Engineering Conference and the Fifth ACM SIGSOFT Symposium on the Foundations of Software Engineering, Volume 1301 of Lecture Notes in Computer Science, 1301, pp. 278-293, (1997)
[9]  
ACM SIGSOFT Software Engineering Notes, 22, 6, (1997)
[10]  
Evett M.P., Khoshgoftar T.M., Chien R.-D., Allen E.B., GP-based software quality prediction, Genetic Programming 1998: Proceedings of the Third Annual Conference, pp. 60-65, (1998)