TY - GEN
T1 - Enforcer - Efficient failure injection
AU - Artho, Cyrille
AU - Biere, Armin
AU - Honiden, Shinichi
PY - 2006
Y1 - 2006
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=33749372210&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=33749372210&partnerID=8YFLogxK
U2 - 10.1007/11813040_28
DO - 10.1007/11813040_28
M3 - Conference contribution
AN - SCOPUS:33749372210
SN - 3540372156
SN - 9783540372158
T3 - Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
SP - 412
EP - 427
BT - FM 2006
PB - Springer Verlag
T2 - FM 2006: 14th International Symposium on Formal Methods
Y2 - 21 August 2006 through 27 August 2006
ER -