Enforcer - Efficient Failure Injection

11 years 10 months ago
Enforcer - Efficient Failure Injection
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.
Cyrille Artho, Armin Biere, Shinichi Honiden
Added 22 Aug 2010
Updated 22 Aug 2010
Type Conference
Year 2006
Where FM
Authors Cyrille Artho, Armin Biere, Shinichi Honiden
Comments (0)