| Reliability is an important property to evaluate the quality of a software system.Traditionally,the reliability computing of a software system is based the outputs from software testing. Suchreliabilities have the following shortcomings:1) Since the failure data comes from the input/output of testing, they only reflect part of thesystem behavior, so if we use the output to compute the reliability, it cannot reflect the wholesystem reliability and thus is not accurate;2) Since the testing is based on some operational profile, the obtained reliability is for somespecified operations in some environment. It may be enough since the system runs in thosespecified operations. However, while the system is running, we may hit some unexpectedenvironment, thus unexpected failures in the system may happen.To address the above issues, we propose a new method to compute the reliability of softwaresystems, particularly concurrent systems. The failure data comes from invariant. The reason weuse the invariants is they can be used to reconstruct the system behavior, in other words, they cancapture all the system behavior, even though they also come from testing.The sketch of the proposed method is as follows:1) Based on the testing, we obtain programinvariants with Daikon tool, then we find bad invariants as failure data;2) We compute thereliability of sequential programs with Nelson reliability model and the bad invariants;3) Basedon the structures of concurrent programs, we build the formula to compute the reliability ofconcurrent programs; and4) Using the formula and the reliabilities of sequential programs wecompute the whole system reliability.The contributions of this paper are:Based on the structure of concurrent software systems, a framework to compute theirreliability is developed.The reliabilities of sequential programs are computed based on program invariants, thus thereliability is more accurate.The independent assumption has been removed, which has been used in the reliabilitycomputing for component based software system. |