eprintid: 1812 rev_number: 10 eprint_status: archive userid: 40 dir: disk0/00/00/18/12 datestamp: 2013-10-03 07:57:29 lastmod: 2014-01-21 14:28:14 status_changed: 2013-10-03 07:57:29 type: article metadata_visibility: show creators_name: Fioravanti, Fabio creators_name: Proietti, Maurizio creators_name: Senni, Valerio creators_id: creators_id: creators_id: valerio.senni@imtlucca.it title: Efficient Generation of Test Data Structures using Constraint Logic Programming and Program Transformation ispublished: pub subjects: QA75 subjects: QA76 divisions: CSA full_text_status: none keywords: Black-box testing; generation of data structures; bounded exhaustive testing; constraint logic programming; program transformation; note: First published online November 28, 2013 abstract: The goal of Bounded-Exhaustive Testing (BET) is the automatic generation of all test cases satisfying a given invariant, within a given size bound. When the test cases have 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 structures. We follow a declarative approach which allows us to separate the issue of (i) defining the test data structure in terms of its properties, from that of (ii) efficiently generating data structure instances. This separation helps establish the correctness of the developed test case generators. We rely on a symbolic representation and we take advantage of efficient search strategies provided by CLP systems for generating test instances. Through a running example taken from the literature on BET, we illustrate our test generation framework and we show that CLP allows us to develop easily understandable and efficient test generators. Additionally, we propose a program transformation technique whose goal is to make the evaluation of these CLP-based generators much more efficient and we demonstrate its effectiveness on a number of complex test data structures. date: 2013 date_type: published publication: Journal of Logic and Computation publisher: Oxford University Press id_number: 10.1093/logcom/ext071 refereed: TRUE issn: 0955-792X official_url: http://logcom.oxfordjournals.org/content/early/2013/11/27/logcom.ext071.abstract?sid=9d908732-3788-4413-87eb-cb513e0cc393 citation: Fioravanti, Fabio and Proietti, Maurizio and Senni, Valerio Efficient Generation of Test Data Structures using Constraint Logic Programming and Program Transformation. Journal of Logic and Computation. ISSN 0955-792X (2013)