Test input generation for database programs using relational constraints

Michaël Marcozzi, Wim Vanhoof, Jean-Luc Hainaut

Résultats de recherche: Contribution dans un livre/un catalogue/un rapport/dans les actes d'une conférenceArticle dans les actes d'une conférence/un colloque

349 Téléchargements (Pure)

Résumé

Databases are ubiquitous in software and testing of programs manipulating databases is thus essential to enhance the reliability of software. In this paper, we describe a clean and unified approach to automatically generate test inputs for such database programs. First, we propose a formal language, called ImperDB, to model database programs. ImperDB allows to model common program behaviors and data structures, as well as typical interaction scenarios between programs and databases. Secondly, we present a static analysis technique to generate test inputs for ImperDB programs, according to any chosen structural adequacy criterion. The technique considers an ImperDB program as a sequence of operations over a set of relational variables, modeling both the database original content and the program inputs. The problem of finding test inputs forcing the execution of a given path can then be transformed into the problem of solving constraints over the relational variables associated to the program. These constraints are expressed with the Alloy language and solved by the Alloy analyzer.
langue originaleAnglais
titreProceedings of the Fifth International Workshop on Testing Database Systems
Lieu de publicationNew York, NY, USA
EditeurACM Press
Pages6:1-6:6
Nombre de pages6
Les DOIs
étatPublié - 2012

Série de publications

NomDBTest '12
EditeurACM

    Empreinte digitale

Contient cette citation

Marcozzi, M., Vanhoof, W., & Hainaut, J-L. (2012). Test input generation for database programs using relational constraints. Dans Proceedings of the Fifth International Workshop on Testing Database Systems (p. 6:1-6:6). (DBTest '12). New York, NY, USA: ACM Press. https://doi.org/10.1145/2304510.2304518