Armin Biere, Cyrille Artho, Shinichi Honiden,
"Enforcer – Efficient Failure Injection"
: Proc. Formal Methods (FM'06), Serie Lecture Notes in Computer Science (LNCS), Springer, Seite(n) 412-427, 2006, ISBN: 978-3-540-37215-8
Enforcer – Efficient Failure Injection
Sprache des Titels:
Proc. Formal Methods (FM'06)
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.