A Random Testing Approach Using Pushdown Automata
Résumé
Developing efficient and automatic testing techniques is one of the major challenges facing the software validation community. Recent work by Denise and al. (in MBT'08 proceedings) shows how to draw traces uniformly at random in large systems modeled by finite automata for testing purposes. Since finite automata are strong abstractions of systems, many generated test cases following this approach may be un-concretizable, i.e., do not correspond to any concrete execution of the system under test. In this paper, we propose to tackle this problem 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 grammar algorithms, and relies on combinatorial techniques to guarantee the uniformity of generated traces.