On the effectiveness of early life cycle defect prediction with Bayesian Nets

被引:79
作者
Fenton, Norman [2 ]
Neil, Martin [2 ]
Marsh, William [2 ]
Hearty, Peter [2 ]
Radlinski, Lukasz [1 ,2 ]
Krause, Paul [3 ]
机构
[1] Univ Szczecin, Inst Informat Technol Management, Szczecin, Poland
[2] Univ London, Dept Comp Sci, London, England
[3] Univ Surrey, Dept Comp, Guildford GU2 5XH, Surrey, England
基金
英国工程与自然科学研究理事会;
关键词
software defect prediction; qualitative factors; quantitative data; Bayesian network; decision support; sensitivity analysis;
D O I
10.1007/s10664-008-9072-x
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Standard practice in building models in software engineering normally involves three steps: collecting domain knowledge (previous results, expert knowledge); building a skeleton of the model based on step 1 including as yet unknown parameters; estimating the model parameters using historical data. Our experience shows that it is extremely difficult to obtain reliable data of the required granularity, or of the required volume with which we could later generalize our conclusions. Therefore, in searching for a method for building a model we cannot consider methods requiring large volumes of data. This paper discusses an experiment to develop a causal model (Bayesian net) for predicting the number of residual defects that are likely to be found during independent testing or operational usage. The approach supports (1) and (2), does not require (3), yet still makes accurate defect predictions (an R-2 of 0.93 between predicted and actual defects). Since our method does not require detailed domain knowledge it can be applied very early in the process life cycle. The model incorporates a set of quantitative and qualitative factors describing a project and its development process, which are inputs to the model. The model variables, as well as the relationships between them, were identified as part of a major collaborative project. A dataset, elicited from 31 completed software projects in the consumer electronics industry, was gathered using a questionnaire distributed to managers of recent projects. We used this dataset to validate the model by analyzing several popular evaluation measures (R-2, measures based on the relative error and Pred). The validation results also confirm the need for using the qualitative factors in the model. The dataset may be of interest to other researchers evaluating models with similar aims. Based on some typical scenarios we demonstrate how the model can be used for better decision support in operational environments. We also performed sensitivity analysis in which we identified the most influential variables on the number of residual defects. This showed that the project size, scale of distributed communication and the project complexity cause the most of variation in number of defects in our model. We make both the dataset and causal model available for research use.
引用
收藏
页码:499 / 537
页数:39
相关论文
共 37 条
[1]  
*AGENARISK, 2007, BAYES NETW SOFTW TOO
[2]  
[Anonymous], 1998, Software Metrics: A Rigorous and Practical Approach, DOI 10.1201/b17461
[3]  
Boehm B., 1995, Annals of Software Engineering, V1, P57, DOI 10.1007/BF02249046
[4]  
BOETTICHER G, 2008, PROMISE REPOSITORY E
[5]   Using sensitivity analysis to validate a state Variablo model of the software test process [J].
Cangussu, JW ;
DeCarlo, RA ;
Mathur, ATP .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 2003, 29 (05) :430-443
[6]   Bayesian analysis of empirical software engineering cost models [J].
Chulani, S ;
Boehm, B ;
Steece, B .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1999, 25 (04) :573-583
[7]  
CHULANI S, 1999, USECSE99510
[8]   PREDICTION AND CONTROL OF ADA SOFTWARE DEFECTS [J].
COMPTON, BT ;
WITHROW, C .
JOURNAL OF SYSTEMS AND SOFTWARE, 1990, 12 (03) :199-207
[9]  
*EXDECIDE, 2005, QUANT RISK ASS DEC S
[10]   Making resource decisions for software projects [J].
Fenton, N ;
Marsh, W ;
Neil, M ;
Cates, P ;
Forey, S ;
Tailor, M .
ICSE 2004: 26TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING, PROCEEDINGS, 2004, :397-406