Conduct Experiments to Validate and Refine a Hybrid Bayesian Network for Estimating Software Reliability (i.e., predicting the total number of faults)
Customers of software system projects are now requiring (requesting) estimates of software reliability at releases. In practical terms, people want to know the total number of faults remaining in the software. Software Reliability Growth Models (SRGM) are a means for predicting software reliability, but different SRGM estimates can have significant variability until there is approximately 75% test coverage. Unfortunately, many companies don't have much test coverage data. In addition, companies would like to have better estimates early in the project.
This project proposes to use, validate and/or refine a hybrid Bayesian Network (BN) developed for the purpose of predicting the total number of faults (defects) in a software-system. The key idea is to combine quantitative software testing data with subjective expert judgment related to project specific attributes such as:
- Architecture stability
- System complexity
- Code and design quality
- Test quality
- Time to develop system or release
- Organization that develops the system
Several projects over many releases have used an existing BN, which has provided favorable results in predicting the total number of defects for a software system into the future, but there are still some uncertainties predicting defects into the future. This effort should use historical defect data to experiment with, or to validate or refine, a BN model.
Attachments for usage, background will be provided.
Assumptions: it is not necessary for the student to develop a Bayesian Network model, rather the student should ideally gather project defect data, and subjective expert judgments from one or more projects. There is some amount of data formatting that is usually necessary and the student should help in interpreting the results.