A 15 Year Perspective on Automatic Programming
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Domain-Specific Automatic Programming
IEEE Transactions on Software Engineering - Special issue on artificial intelligence and software engineering
Robust Storage Structures for Crash Recovery
IEEE Transactions on Computers - The MIT Press scientific computation series
An integrated approach to software development
An integrated approach to software development
Software safety: why, what, and how
ACM Computing Surveys (CSUR)
Software reliability in the system context
IEEE Transactions on Software Engineering
An experimental evaluation of the assumption of independence in multiversion programming
IEEE Transactions on Software Engineering
Typestate: A programming language concept for enhancing software reliability
IEEE Transactions on Software Engineering
On hierarchical design of computer systems for critical applications
IEEE Transactions on Software Engineering - Special issue on reliability and safety in real-time process control
PODS—A project on diverse software
IEEE Transactions on Software Engineering - Special issue on reliability and safety in real-time process control
Evaluation of competing software reliability predictions
IEEE Transactions on Software Engineering - Special issue on reliability and safety in real-time process control
Resilient computing systems; vol. 1
Resilient computing systems; vol. 1
Principles of artificial intelligence
Principles of artificial intelligence
Fault Tolerant Operating Systems
ACM Computing Surveys (CSUR)
Fault-Tolerant Software for Real-Time Applications
ACM Computing Surveys (CSUR)
Operating System Structures to Support Security and Reliable Software
ACM Computing Surveys (CSUR)
Program Transformation Systems
ACM Computing Surveys (CSUR)
Chess Skill in Man and Machine
Chess Skill in Man and Machine
Fault Tolerance: Principles and Practice
Fault Tolerance: Principles and Practice
A program structure for error detection and recovery
Operating Systems, Proceedings of an International Symposium
Planning for Conjunctive Goals
Planning for Conjunctive Goals
An overview of ANNA - a specification language for ADA
An overview of ANNA - a specification language for ADA
Surveyors' forum: runtime checking and debugging of formally specified programs
ACM Computing Surveys (CSUR)
Fault-containing self-stabilizing algorithms
PODC '96 Proceedings of the fifteenth annual ACM symposium on Principles of distributed computing
Processor Assignment and Execution Sequence for Multiversion Software
IEEE Transactions on Computers
Toward a resourceful method of software fault tolerance
ACM-SE 37 Proceedings of the 37th annual Southeast regional conference (CD-ROM)
Conceptual model of real-time systems: a perspective
SAC '95 Proceedings of the 1995 ACM symposium on Applied computing
Fault-containing network protocols
SAC '97 Proceedings of the 1997 ACM symposium on Applied computing
Designing a resourceful fault-tolerance system
Journal of Systems and Software
On the Effect of Recovery Block Scheme on System Performance
COMPSAC '97 Proceedings of the 21st International Computer Software and Applications Conference
Statecharts supervision models for reactive systems
CASCON '95 Proceedings of the 1995 conference of the Centre for Advanced Studies on Collaborative research
Statecharts Supervision Models for Soft Real-Time Systems
ASSET '98 Proceedings of the 1998 IEEE Workshop on Application - Specific Software Engineering and Technology
Error Scope on a Computational Grid: Theory and Practice
HPDC '02 Proceedings of the 11th IEEE International Symposium on High Performance Distributed Computing
Supervision of real-time software systems using optimistic path prediction and rollbacks
ISSRE '96 Proceedings of the The Seventh International Symposium on Software Reliability Engineering
Detection of Response Time Failures of Real-Time Software
ISSRE '97 Proceedings of the Eighth International Symposium on Software Reliability Engineering
Scheduling Algorithms for N-Version Programming Scheme
COMPSAC '96 Proceedings of the 20th Conference on Computer Software and Applications
A relational database model of program execution and software components
ACM-SE 38 Proceedings of the 38th annual on Southeast regional conference
Setting checkpoints in legacy code to improve fault-tolerance
Journal of Systems and Software
Exception handling refactorings: Directed by goals and driven by bug fixing
Journal of Systems and Software
In-field healing of integration problems with COTS components
ICSE '09 Proceedings of the 31st International Conference on Software Engineering
On the soundness and safety of expert systems
Artificial Intelligence in Medicine
Exception handlers for healing component-based systems
ACM Transactions on Software Engineering and Methodology (TOSEM) - Testing, debugging, and error handling, formal methods, lifecycle concerns, evolution and maintenance
Hi-index | 0.00 |
Above all, it is vital to recognize that completely guaranteed behavior is impossible and that there are inherent risks in relying on computer systems in critical environments. The unforeseen consequences are often the most disastrous [Neumann 1986].Section 1 of this survey reviews the current state of the art of system reliability, safety, and fault tolerance. The emphasis is on the contribution of software to these areas. Section 2 reviews current approaches to software fault tolerance. It discusses why some of the assumptions underlying hardware fault tolerance do not hold for software. It argues that the current software fault tolerance techniques are more accurately thought of as delayed debugging than as fault tolerance. It goes on to show that in providing both backtracking and executable specifications, logic programming offers most of the tools currently used in software fault tolerance. Section 3 presents a generalization of the recovery block approach to software fault tolerance, called resourceful systems. Systems are resourceful if they are able to determine whether they have achieved their goals or, if not, to develop and carry out alternate plans. Section 3 develops an approach to designing resourceful systems based upon a functionally rich architecture and an explicit goal orientation.