Software fault tolerance is the ability for software to detect and recover from a fault that is happening or has already happened in either the software or hardware in. International journal of electrical and computer engineering ijece. Current methods for software fault tolerance include recovery blocks. This book builds on this trend and investigates how fault tolerance mechanisms can be applied when engineering a software system. Software fault tolerance is the ability of computer software to continue its normal operation despite the presence of system or hardware faults. Software fault tolerance professur fur systems engineering.
Software engineering aims to deliver fault free software, on time and within budget, meeting the requirements and needs of the client. Pdf analysis of different software fault tolerance techniques. An introduction to software engineering and fault tolerance. Basic fault tolerant software techniques geeksforgeeks. Fault tolerance is the property that enables a system to continue operating properly in the event of the failure of or one or more faults within some of its components. Nowadays, fault tolerance is a much researched topic.
Fault tolerant software has the ability to satisfy requirements despite failures. The goal of software fault tolerance techniques is to allow the system to. Software fault tolerance is a necessary component, as it provides protection against errors in translating the requirements and algorithms into a programming language. These are usually detected by the testers during the process of testing and are termed as logical errors. Software reliability and fault tolerance mcqs for preparation of fpsc, nts, kppsc, ppsc, and other test. This is not to say that capturing the software description in a. If its operating quality decreases at all, the decrease is proportional to the severity of the failure, as compared to a naively designed system, in which even a small failure can cause total breakdown. But, it does have one disadvantage that is it does not provide explicit protection against errors in specifying the requirements. There are two basic techniques for obtaining fault tolerant software.
Software fault tolerance is the ability for software to detect and recover from a fault that is happening or has already happened in either the software or hardware in the system in which the software is running to provide service by the specification. Both schemes are based on software redundancy assuming that the events of coincidental software failures are rare. The term essentially refers to a systems ability to allow for failures or malfunctions, and this ability may be provided by software, hardware or a combination of both. Newest faulttolerance questions software engineering. Software fault tolerance cmu ece carnegie mellon university. Software engineering software fault tolerance javatpoint. Software engineering requirements engineering process. Software engineering of fault tolerant systems series on software. Specification, design, and testing of this conceptual construct is the hard part of software engineering. Fault tolerance is the way in which an operating system os responds to a hardware or software failure. It has been suggested that this article be merged with fault tolerant software. Hiller, software faulttolerance techniques from a realtime systems point of view an overview, technical report no. They cover a wide range of topics focusing on fault tolerance during the different phases of the software development, software engineering techniques for verification and validation of fault.
Software fault tolerance is the ability for software to detect and recover from a fault that is happening or has already happened in either the software or hardware in the system in which the software is running in order to provide service in accordance with the specification. Fault tolerant software assures system reliability by using protective redundancy at the software level. Since correctness and safety are really system level concepts, the need and degree to use software fault tolerance is directly dependent. Pdf without doubt, fault tolerance is one of the major issues in computing. A system fails because of incorrect specification, incorrect design, design flaws, poor testing, undetected. Software fault tolerance refers to the use of techniques to increase the likelihood that the final design embodiment will produce correct andor safe outputs. If my reading and understanding is correct which might not, section 18. The complete text of software fault tolerance, written by michael r.
961 1611 684 52 883 1340 1456 598 799 770 1343 592 282 123 1580 1324 1020 1458 961 1527 815 197 1098 561 557 1221 871 694