Title :
A software-reliability growth model for N-version programming systems
Author :
Teng, Xiaolin ; Pham, Hoang
Author_Institution :
Dept. of Ind. Eng., Rutgers Univ., Piscataway, NJ, USA
fDate :
9/1/2002 12:00:00 AM
Abstract :
This paper presents a NHPP-based SRGM (software reliability growth model) for NVP (N-version programming) systems (NVP-SRGM) based on the NHPP (nonhomogeneous Poisson process). Although many papers have been devoted to modeling NVP-system reliability, most of them consider only the stable reliability, i.e., they do not consider the reliability growth in NVP systems due to continuous removal of faults from software versions. The model in this paper is the first reliability-growth model for NVP systems which considers the error-introduction rate and the error-removal efficiency. During testing and debugging, when a software fault is found, a debugging effort is devoted to remove this fault. Due to the high complexity of the software, this fault might not be successfully removed, and new faults might be introduced into the software. By applying a generalized NHPP model into the NVP system, a new NVP-SRGM is established, in which the multi-version coincident failures are well modeled. A simplified software control logic for a water-reservoir control system illustrates how to apply this new software reliability model. The s-confidence bounds are provided for system-reliability estimation. This software reliability model can be used to evaluate the reliability and to predict the performance of NVP systems. More application is needed to validate fully the proposed NVP-SRGM for quantifying the reliability of fault-tolerant software systems in a general industrial setting. As the first model of its kind in NVP reliability-growth modeling, the proposed NVP SRGM can be used to overcome the shortcomings of the independent reliability model. It predicts the system reliability more accurately than the independent model and can be used to help determine when to stop testing, which is a key question in the testing and debugging phase of the NVP system-development life cycle
Keywords :
control engineering computing; level control; parameter estimation; programming; software fault tolerance; software reliability; stochastic processes; N-version programming systems; continuous faults removal; debugging; error-introduction rate; error-removal efficiency; fault-tolerant software systems; independent reliability model; industrial setting; multi-version coincident failures; nonhomogeneous Poisson process; s-confidence bounds; software control logic; software fault; software-reliability growth model; system-development life cycle; system-reliability estimation; water-reservoir control system; Application software; Control system synthesis; Fault tolerant systems; Life testing; Logic; Predictive models; Software debugging; Software reliability; Software testing; System testing;
Journal_Title :
Reliability, IEEE Transactions on
DOI :
10.1109/TR.2002.801853