Susan S. Brilliant

Learn More
We have conducted a large-scale experiment in N-version programming. A total of 27 versions of a program were prepared independently from the same specification at two universities. The results of executing the versions revealed that the versions were individually extremely reliable but that the number of input cases in which more than one failed was(More)
We have identified a difficulty in the implementation of N-version programming. The problem, which we call the Consistent Comparison Problem, arises for applications in which decisions are based on the results of comparisons of finite-precision numbers. We show that when versions make comparisons involving the results of finite-precision calculations, it is(More)
Measurement of software reliability by life testing involves executing the software on large numbers of test cases and recording the results. The number of failures observed is used to bound the failure probability even if the number of failures observed is zero. Typical analyses assume that all failures that occur are observed, but, in practice, failures(More)
• The NSF Software Engineering Research Centers Program, which could have Centers oriented more towards software~ with appropriate industry participation as a success criterion. • The State of Califorrda's Micro program, which provides matching funds for industry-supported university research. • Establishing and coordinating counterpart initiatives for(More)
In this paper we report on a research project in which the user interface for a research nuclear reactor was specified using a combination of formal notations. The goal of the project was to evaluate the use of a combination of techniques and to assess their utility in specifying a user interface for a non-trivial safety-critical application. We conclude(More)
Multi-version or <i>N</i>-version programming [5] has been proposed as a method of providing fault tolerance in software. The approach requires the separate, independent preparation of multiple (<i>i.e.</i> <i>"N"</i>) versions of a piece of software for some application. These versions are executed in parallel in the application environment; each receives(More)
  • 1