NASA Logo

NTRS

NTRS - NASA Technical Reports Server

Press Enter or click the Search button to begin your search.

Back to Results
Detection of faults and software reliability analysisMulti-version or N-version programming is proposed as a method of providing fault tolerance in software. The approach requires the separate, independent preparation of multiple versions of a piece of software for some application. These versions are executed in parallel in the application environment; each receives identical inputs and each produces its version of the required outputs. The outputs are collected by a voter and, in principle, they should all be the same. In practice there may be some disagreement. If this occurs, the results of the majority are taken to be the correct output, and that is the output used by the system. A total of 27 programs were produced. Each of these programs was then subjected to one million randomly-generated test cases. The experiment yielded a number of programs containing faults that are useful for general studies of software reliability as well as studies of N-version programming. Fault tolerance through data diversity and analytic models of comparison testing are discussed.
Document ID
19870017765
Acquisition Source
Legacy CDMS
Document Type
Contractor Report (CR)
Authors
Knight, John C.
(Virginia Univ. Charlottesville, VA, United States)
Date Acquired
September 5, 2013
Publication Date
February 1, 1987
Subject Category
Quality Assurance And Reliability
Report/Patent Number
UVA/528243/CS87/102
NAS 1.26:180346
NASA-CR-180346
Report Number: UVA/528243/CS87/102
Report Number: NAS 1.26:180346
Report Number: NASA-CR-180346
Accession Number
87N27198
Funding Number(s)
CONTRACT_GRANT: NAG1-605
Distribution Limits
Public
Copyright
Work of the US Gov. Public Use Permitted.
No Preview Available