Software quality should be built-in and maintained throughout the software life cycle, which requires understanding of software dependability in actual environments. This thesis discusses how to develop analysis techniques for evaluating the dependability of operational software using real measurements while taking design issues into account. The issues addressed include fault categorization and characterization of error propagation, symptom-based diagnosis of recurrent software failures, identification of software fault tolerance, evaluation of the impact of software faults on the overall system, and the development of techniques for analyzing multiway failure dependencies among software and hardware modules. The process is illustrated using a case study of the Tandem GUARDIAN operating system.Using process pairs in Tandem systems, which was originally intended for tolerating hardware faults, allows the system to tolerate about 70% of reported faults in the system software that cause processor failures. The loose coupling between processors, which results in the backup execution (the processor state and the sequence of events) being different from the original execution, is a major reason for the measured software fault tolerance. About 72% of reported field software failures in Tandem systems are recurrences of previously reported faults. In addition to the conventional approach of reducing the number of faults in software, software dependability in Tandem systems can be enhanced by reducing the recurrence rate and by improving the robustness of process pairs and the system configuration. An approach for automatically diagnosing recurrences based on their symptoms is developed. The results of evaluations of the effectiveness of the approach show that between 75% and 95% of recurrences can be successfully identified by matching failure symptoms, such as stack traces and problem detection locations. Less than 10% of faults are misdiagnosed.
Cited By
- Vaidyanathan K, Harper R, Hunter S and Trivedi K Analysis and implementation of software rejuvenation in cluster systems Proceedings of the 2001 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, (62-71)
- Vaidyanathan K, Harper R, Hunter S and Trivedi K (2001). Analysis and implementation of software rejuvenation in cluster systems, ACM SIGMETRICS Performance Evaluation Review, 29:1, (62-71), Online publication date: 1-Jun-2001.
- Kalbarczyk Z, Iyer R, Bagchi S and Whisnant K (1999). Chameleon, IEEE Transactions on Parallel and Distributed Systems, 10:6, (560-579), Online publication date: 1-Jun-1999.
- Garg S, Huang Y, Kintala C and Trivedi K (1996). Minimizing completion time of a program by checkpointing and rejuvenation, ACM SIGMETRICS Performance Evaluation Review, 24:1, (252-261), Online publication date: 15-May-1996.
- Garg S, Huang Y, Kintala C and Trivedi K Minimizing completion time of a program by checkpointing and rejuvenation Proceedings of the 1996 ACM SIGMETRICS international conference on Measurement and modeling of computer systems, (252-261)
Index Terms
- Software dependability in the operational phase
Recommendations
Emulation of Transient Software Faults for Dependability Assessment: A Case Study
EDCC '10: Proceedings of the 2010 European Dependable Computing ConferenceFault Tolerance Mechanisms (FTMs) are extensively used in software systems to counteract software faults, in particular against faults that manifest transiently, namely Mandelbugs. In this scenario, Software Fault Injection (SFI) plays a key role for ...
Software Dependability in the Tandem GUARDIAN System
Based on extensive field failure data for Tandem s GUARDIAN operating system, this paper discusses evaluation of the dependability of operational software. Software faults considered are major defects that result in processor failures and invoke backup ...