Where academic tradition
meets the exciting future

Applying Tests for Validating Fault-Tolerance in Software Systems.

Qaisar A. Malik, Applying Tests for Validating Fault-Tolerance in Software Systems.. In: NODES 07 - NOrdic workshop and doctoral symposium on DEpendability and Security, Oslo, Norway,, 2007.

Abstract:

Fault-tolerance is one of the important mechanisms to en-
sure dependability of a software system. For dependable systems, the
software model should also include fault-tolerance mechanism as part of
their functionality. Formal modelling and verification of a system guar-
antees the correctness of the functionalities for the given abstract envi-
ronment only. Generally, implementation code for the software system
can be generated from a sufficiently detailed specification. However, of-
ten due to the remaining abstraction gap between a formal model and
the implementation, it is not always feasible to generate implementa-
tion code. As a result, the implementation is not shown to be correct
by construction but instead it is hand-coded by programmer(s). Testing
such an implementation, especially the fault-tolerance, is a non-trivial
task. In our earlier work [1], we presented scenario-based test genera-
tion technique from Event-B[2] models. We take middleware software of
a server with mobile agents [3] as a case study. In this paper, we show
how test cases, generated by above mentioned approach, can be applied
in practice. Our main focus is on testing of fault-tolerance mechanisms.
The fault-tolerance in the above said case study includes handling of
temporary failures, disconnections, timeouts and crash-failures for mo-
bile agents. All these failure modes require certain conditions to occur
during normal system execution. Each failure mode is covered by set of
different test cases. We show how a test environment can be setup in
the context of a server with mobile agents. This testing environment is
controlled for testing the each particular failure mode. We also provide
guidelines for the representation and application of test cases. The test
case execution results are shown at the end. We also discuss how this
test application technique can be generalized for other systems.

BibTeX entry:

@INPROCEEDINGS{inpMalik07a,
  title = {Applying Tests for Validating Fault-Tolerance in Software Systems.},
  booktitle = {NODES 07 - NOrdic workshop and doctoral symposium on DEpendability and Security, Oslo, Norway,},
  author = {Malik, Qaisar A.},
  year = {2007},
}

Belongs to TUCS Research Unit(s): Distributed Systems Laboratory (DS Lab), Embedded Systems Laboratory (ESLAB)

Edit publication