Title :
Using reversible computing to achieve fail-safety
Author :
Bishop, Peter G.
Author_Institution :
Adelard, London, UK
Abstract :
This paper describes a fail-safe design approach that can be used to achieve a high level of fail-safety with conventional computing equipment which may contain design flaws. The method is based on the well-established concept of reversible computing. Conventional programs destroy information and hence cannot be reversed. However it is easy to define a virtual machine that preserves sufficient intermediate information to permit reversal. Any program implemented on this virtual machine is inherently reversible. The integrity of a calculation can therefore be checked by reversing back from the output values and checking for the equivalence of intermediate values and original input values. By using different machine instructions on the forward and reverse paths, errors in any single instruction execution can be revealed. Random corruptions in data values are also detected. An assessment of the performance of the reversible computer design for a simple reactor trip application indicates that it runs about ten times slower than a conventional software implementation and requires about 20 kilobytes of additional storage. The trials also show a fail-safe bias of better than 99.998% for random data corruptions, and it is argued that failures due to systematic flaws could achieve similar levels of fail-safe bias. Potential extensions and applications of the technique are discussed
Keywords :
data integrity; errors; reverse engineering; safety; software fault tolerance; software performance evaluation; virtual machines; calculation integrity; design flaws; errors; fail-safe design approach; instruction execution; machine instructions; performance; random data value corruptions; reactor trip application; reversible computing; software fault tolerance; storage; virtual machine; Application software; Background noise; Computer errors; Hardware; Inductors; Logic circuits; Software performance; Software safety; Temperature; Virtual machining;
Conference_Titel :
Software Reliability Engineering, 1997. Proceedings., The Eighth International Symposium on
Conference_Location :
Albuquerque, NM
Print_ISBN :
0-8186-8120-9
DOI :
10.1109/ISSRE.1997.630863