Fault Injection Technique for Evaluating Erlang Test Suites
In software testing, fault injection involves injecting abnormalities into software programs. This can then be used to evaluate test suites by checking how well they detect those abnormalities. This study involves finding out what typical faults occur in Erlang programs by analyzing data from Erlang/OTP releases, official Erlang reference manual, Erlang bug reports and other related studies. It will also include proposals of how these faults can be injected into Erlang programs based on our Erlang development experience and knowledge. The method adopted in this study involves the implementation of a fault injection tool which was evaluated on the test suite of Erlang/ OTP R13B array module. This study contributes knowledge to how fault injection can be used to evaluate Erlang test suites. This in summary involves the following (1) injecting non-trivial faults one at a time into a target Erlang program; these are faults that cannot be detected at compile time, by dialyzer or by a test suite and cover information, and (2) evaluating the program test suite by studying if it can identify the injected fault, and if not why.