Estimation and Enhancement of Real-Time Software Reliability through Mutation Analysis
IEEE Transactions on Computers,
41(5):550--558,
May 1992,
Special Issue on Fault-Tolerant Computing.
Robert Geist, Jeff Offutt, and Fred Harris.
Abstract
A simulation-based method for obtaining numerical estimates
of the reliability of N-version, real-time software is proposed.
An extended stochastic Petri net is used to represent the
synchronization structure of N versions of the software,
where dependencies among versions are modeled through
correlated sampling of module execution times.
The distributions of execution times are derived from automatically generated
test cases that are based on mutation testing.
Since these
test cases are designed to reveal software faults,
the associated execution times and reliability estimates are likely to
be conservative.
Experimental results using specifications for NASA's planetary lander
control software suggest
that mutation-based testing could hold greater potential
for enhancing reliability than
the desirable but perhaps unachievable goal of
independence among N versions.
Nevertheless, some support for N-version enhancement
of high quality, mutation-tested code is also offered.
Experimental results on data diversity, in which retry
with a mutation-directed variation in
input is attempted after system failure, suggest
that mutation analysis could also be valuable in the design of fault-tolerant
software systems.
Back to my home page.