Techniques that facilitate the design of reliable software are described. Two distinct phenomena that can cause execution of a program to deviate from its specifications are considered. The first is the failure of the computing system on which the program is running. When this occurs, the system might not be capable of following the instructions specified by the program. The second phenomenon is that the program is written so that it will not execute consistently with its specifications, even on a failure-free computing system. A methodology is presented for designing programs that can cope with failures in the underlying system. It is based on the notion of a fail-stop processor - a processor with well-defined failure mode operati...
The pervasiveness of computer systems in virtually every aspect of daily life entails a growing depe...
Reliability, defined as the guarantee that a program satisfies its specifications, is an important a...
A transformational method is given for specifying and verifying fault-tolerant, real-time programs. ...
A methodology that facilitates the design of fault-tolerant computing systems is presented. It is b...
If software code is developed by humans, can we as users rely on its absolute correctness? Today's s...
If software code is developed by humans, can we as users rely on its absolute correctness?\ud \ud To...
From the early days of programming, the dependability of software has been a concern. The developmen...
Hardware dependability improvements have led to a situation in which it is sometimes unnecessary to ...
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Comp...
AbstractProving the properties of a program which must execute on a distributed system whose nodes m...
This thesis presents an axiomatic method for proving certain correctness properties of parallel pro...
Software design techniques for tolerating both hardware and software faults have been developed over...
Executable assertions embedded into a distributed computing system can provide run-time assurance by...
Reliability, defined as the guarantee that a program satisfies its specifications, is an important a...
It is difficult to design and verify distributed programs that execute correctly despite transient ...
The pervasiveness of computer systems in virtually every aspect of daily life entails a growing depe...
Reliability, defined as the guarantee that a program satisfies its specifications, is an important a...
A transformational method is given for specifying and verifying fault-tolerant, real-time programs. ...
A methodology that facilitates the design of fault-tolerant computing systems is presented. It is b...
If software code is developed by humans, can we as users rely on its absolute correctness? Today's s...
If software code is developed by humans, can we as users rely on its absolute correctness?\ud \ud To...
From the early days of programming, the dependability of software has been a concern. The developmen...
Hardware dependability improvements have led to a situation in which it is sometimes unnecessary to ...
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Comp...
AbstractProving the properties of a program which must execute on a distributed system whose nodes m...
This thesis presents an axiomatic method for proving certain correctness properties of parallel pro...
Software design techniques for tolerating both hardware and software faults have been developed over...
Executable assertions embedded into a distributed computing system can provide run-time assurance by...
Reliability, defined as the guarantee that a program satisfies its specifications, is an important a...
It is difficult to design and verify distributed programs that execute correctly despite transient ...
The pervasiveness of computer systems in virtually every aspect of daily life entails a growing depe...
Reliability, defined as the guarantee that a program satisfies its specifications, is an important a...
A transformational method is given for specifying and verifying fault-tolerant, real-time programs. ...