Enforcer - Efficient failure injection

Cyrille Artho*, Armin Biere, Shinichi Honiden

*Corresponding author for this work

Research output: Chapter in Book/Report/Conference proceedingConference contribution

8 Citations (Scopus)


Non-determinism of the thread schedule is a well-known problem in concurrent programming. However, other sources of non-determinism exist which cannot be controlled by an application, such as network availability. Testing a program with its communication resources being unavailable is difficult, as it requires a change on the host system, which has to be coordinated with the test suite. Essentially, each interaction of the application with the environment can result in a failure. Only some of these failures can be tested. Our work identifies such potential failures and develops a strategy for testing all relevant outcomes of such actions. Our tool, Enforcer, combines the structure of unit tests, coverage information, and fault injection. By taking advantage of a unit test infrastructure, performance can be improved by orders of magnitude compared to previous approaches. Our tool has been tested on several real-world programs, where it found faults without requiring extra test code.

Original languageEnglish
Title of host publicationFM 2006
Subtitle of host publicationFormal Methods - 14th International Symposium on Formal Methods, Proceedings
PublisherSpringer Verlag
Number of pages16
ISBN (Print)3540372156, 9783540372158
Publication statusPublished - 2006
Externally publishedYes
EventFM 2006: 14th International Symposium on Formal Methods - Hamilton, Canada
Duration: 2006 Aug 212006 Aug 27

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume4085 LNCS
ISSN (Print)0302-9743
ISSN (Electronic)1611-3349


OtherFM 2006: 14th International Symposium on Formal Methods

ASJC Scopus subject areas

  • Theoretical Computer Science
  • General Computer Science


Dive into the research topics of 'Enforcer - Efficient failure injection'. Together they form a unique fingerprint.

Cite this