Generation of test data structures using Constraint Logic Programming
Contributo in Atti di convegno
Data di Pubblicazione:
2012
Abstract:
The goal of Bounded-Exhaustive Testing (BET) is the automatic generation of all the test cases satisfying a given invariant, within a given bound. When the input has a complex structure, the development of correct and efficient generators becomes a very challenging task. In this paper we use Constraint Logic Programming (CLP) to systematically develop generators of structurally complex test data. Similarly to filtering-based test generation, we follow a declarative approach which allows us to separate the issue of (i) defining the test structure and invariant, from that of (ii) generating admissible test input instances. This separation helps improve the correctness of the developed test case generators. However, in contrast with filtering approaches, we rely on a symbolic representation and we take advantage of efficient search strategies provided by CLP systems for generating test instances. Through some experiments on examples taken from the literature on BET, we show that CLP, by combining the use of constraints and recursion, allows one to write intuitive and easily understandable test generators. We also show that these generators can be much more efficient than those built using ad-hoc filtering-based test generation tools like Korat.
Tipologia CRIS:
4.1 Contributo in Atti di convegno
Keywords:
Logic Programming, Test Input, Coverage Criterion, Symbolic Execution, Program Transformation
Elenco autori:
Senni, Valerio; Fioravanti, Fabio
Link alla scheda completa:
Titolo del libro:
Proceedings of the 6th International Conference on Tests & Proofs (TAP 2012)
Pubblicato in: