DocumentCode
2552782
Title
A language-driven tool for fault injection in distributed systems
Author
Hoara, W. ; Tixeuil, Sébastien
Author_Institution
LRI-CNRS, France
fYear
2005
fDate
13-14 Nov. 2005
Abstract
In a network consisting of several thousands computers, the occurrence of faults is unavoidable. Being able to test the behavior of a distributed program in an environment where we can control the faults (such as the crash of a process) is an important feature that matters in the deployment of reliable programs. In this paper, we present FAIL (for FAult Injection Language), a language that permits to elaborate complex fault scenarios in a simple way, while relieving the user from writing low level code. Besides, it is possible to construct probabilistic scenarios (for average quantitative tests) or deterministic and reproducible scenarios (for studying the application´s behavior in particular cases). We also present FCI, the FAIL cluster implementation, that consists of a compiler, a runtime library and a middleware platform for software fault injection in distributed applications. FCI is able to interface with numerous programming languages without requiring the modification of their source code, and the preliminary tests that we conducted show that its effective impact at runtime is low.
Keywords
middleware; program compilers; program testing; software fault tolerance; software radio; software tools; FAIL; FAult Injection Language; distributed program; distributed systems; fault scenarios; language-driven tool; middleware platform; program compiler; program reliability; runtime library; software fault injection; Application software; Computer crashes; Computer network reliability; Computer networks; Distributed computing; Fault tolerance; Hardware; Intelligent networks; System testing; Vehicle crash testing;
fLanguage
English
Publisher
ieee
Conference_Titel
Grid Computing, 2005. The 6th IEEE/ACM International Workshop on
Print_ISBN
0-7803-9492-5
Type
conf
DOI
10.1109/GRID.2005.1542742
Filename
1542742
Link To Document