Use of a Bayesian Network in Software Reliability Assurance
Volume 2, Number 4, October 2006 - Paper 1 - pp. 305 - 314
William E. Vesely
Office of Mission and Safety Assurance
300 E Street SW
Washington, DC 24546
(Received on February 15, 2006)
This paper describes the use of a Bayesian network to assess the achieved reliability of a software package as part of software reliability assurance. For better discrimination, the Bayesian network that is developed has as its performance node the software unreliability achieved, i.e., the probability that the software will fail to carry out a critical function or critical task. The Bayesian Network that is developed is useful for monitoring and tracking the software reliability that is being achieved, not after the software has been developed, but as the software package is being developed. This allows the project to be effectively modified to improve the software. The output failure probability prediction can also be used in Probabilistic Risk Assessments (PRAs).
Bayesian networks are well established as monitoring and predictive models and software packages are available for implementations. The application of Bayesian networks to software reliability represents a renewed approach at NASA to quantify software reliability as part of software reliability assurance. What is also new is the formulation of the approach in such a way as to be useful for safety and assurance engineers. The focus here is therefore on the construction of the network and its inputs that can subsequently be evaluated using any available software. The Bayesian network developed here utilizes project characteristics, software and quality control metrics, and software performance tests. Both qualitative and quantitative information are used. Generic information is initially used and then refined to update the monitoring of the progress of the project. Test data is used to not only refine the performance assessment but to identify potential, further tests needed. The final results that were obtained were verified with other assessments and experience.
1. Bringing information about a new concept for the start of a process of awareness-raising and commitment building;
2. After that, educating the concept to provide the knowledge for the assessments of the concept and strategic discussions in interaction processes with the key-actorswithin and between organizations to generate a basis for implementation;
3. Evaluating the learning processes to stimulate continuous improvement programmes;
4. The above-mentioned actions can be better embedded in organizations when asurroundings and an organizational analysis for the dissemination of the new concept is performed and the results are included in the approach.
Click here to download the paper.
Please note : You will need Adobe Acrobat viewer to view the full articles.