A Framework for the Design and Validation of Efficient Fail-Safe Fault-Tolerant Programs

  • Arshad Jhumka
  • Neeraj Suri
  • Martin Hiller
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2826)


We present a framework that facilitates synthesis and validation of fail-safe fault-tolerant programs. Starting from a fault-intolerant program, with safety specification SS, that satisfies its specification in the absence of faults, we present an approach that automatically transforms it into a fail-safe fault-tolerant program, through the addition of a class of detectors termed as SS-globally consistent detectors. Further, we make use of the SS-global consistency property of the detectors to generate pertinent test cases for testing the fail-safe fault-tolerant program, or for fault injection purposes. The properties of the resulting fail-safe fault-tolerant program are that (i) it has minimal detection latency, and (ii) perfect error detection. The application area of our framework is in the domain of distributed embedded applications.


Detectors software synthesis fault tolerance fail-safe test cases 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Alpern, B., Schneider, F.B.: Defining liveness. Information Processing Letters 21, 181–185 (1985)zbMATHCrossRefMathSciNetGoogle Scholar
  2. 2.
    Arora, A., Kulkarni, S.S.: Component based design of multitolerant systems. IEEE Transactions on Software Engineering 24(1), 63–78 (1998)CrossRefGoogle Scholar
  3. 3.
    Arora, A., Kulkarni, S.S.: Detectors and correctors: A theory of faulttolerance components. In: Proceedings of the 18th IEEE International Conference on Distributed Computing Systems (ICDCS 1998) (May 1998)Google Scholar
  4. 4.
    Chandy, K.M., Misra, J.: Parallel Program Design: A Foundation. Addison-Wesley, Reading (1988)zbMATHGoogle Scholar
  5. 5.
    Jeng, B., Weyuker, E.J.: Analyzing partition testing strategies. IEEE Transactions on Software Engineering (July 1991)Google Scholar
  6. 6.
    Jhumka, A., Gärtner, F., Fetzer, C., Suri, N.: On systematic design of fast, and perfect detectors. Technical report, Ecole Polytechnique Federale de Lausanne (EPFL), School of Computer and Communication Sciences, Technical Report 200263 (September 2002)Google Scholar
  7. 7.
    Jhumka, A., Hiller, M., Claesson, V., Suri, N.: On Systematic Design of Globally Consistent Executable Assertions in Embedded Software. In: Proceedings LCTES/SCOPES, pp. 74–83 (2002)Google Scholar
  8. 8.
    Kulkarni, S., Ebnenasir, A.: Complexity of Adding Fail-Safe Fault Tolerance. In: Proceedings International Conference on Distributed Computing Systems (2002)Google Scholar
  9. 9.
    Kulkarni, S.S., Arora, A.: Automating the addition of fault-tolerance. In: Joseph, M. (ed.) FTRTFT 2000. LNCS, vol. 1926, pp. 82–93. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  10. 10.
    Leveson, N., Cha, S.S., Knight, J.C., Shimeall, T.J.: The Use of Self-Checks and Voting in Software Error Detection: An Empirical Study. IEEE Transactions on Software Engineering 16(4), 432–443 (1990)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2003

Authors and Affiliations

  • Arshad Jhumka
    • 1
  • Neeraj Suri
    • 1
  • Martin Hiller
    • 2
  1. 1.Department of Computer ScienceTU – DarmstadtGermany
  2. 2.Department of Electronics and SoftwareVolvo Technology CorporationGöteborgSweden

Personalised recommendations