A random testing approach using pushdown automata. (14th May 2014) - Dreyfus, Aloïs; Héam, Pierre‐Cyrille; Kouchnarenko, Olga; Masson, Catherine; Brucker, Achim D.; Julliand, Jacques
SUMMARY Developing efficient and automatic testing techniques is one of the major challenges faced by the software validation community. Recent work by A. Denise et al. shows how to draw traces uniformly at random for testing large systems modelled by finite automata. Because finite automata are strong abstractions of systems, many test cases generated following this approach may be unconcretizable, that is, they do not correspond to any concrete execution of the system under test. In this paper, this problem is tackled by extending the approach to pushdown systems that can encode either a stack data structure or the call stack. The method is based on context‐free grammars and related algorithms, and relies on combinatorial techniques to guarantee the uniformity of generated traces. In addition, the combination of coverage criteria with random testing is investigated to benefit from both approaches for evaluating the quality of the test suites. The application of the random approach is illustrated within both structural and model‐based testing contexts. Copyright © 2014 John Wiley & Sons, Ltd.