Test input generation for database programs using relational constraints

Research output: Contribution in Book/Catalog/Report/Conference proceedingConference contribution

345 Downloads (Pure)

Abstract

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.
Original languageEnglish
Title of host publicationProceedings of the Fifth International Workshop on Testing Database Systems
Place of PublicationNew York, NY, USA
PublisherACM Press
Pages6:1-6:6
Number of pages6
DOIs
Publication statusPublished - 2012

Publication series

NameDBTest '12
PublisherACM

Fingerprint

Formal languages
Static analysis
Data structures
Testing

Cite this

Marcozzi, M., Vanhoof, W., & Hainaut, J-L. (2012). Test input generation for database programs using relational constraints. In Proceedings of the Fifth International Workshop on Testing Database Systems (pp. 6:1-6:6). (DBTest '12). New York, NY, USA: ACM Press. https://doi.org/10.1145/2304510.2304518
Marcozzi, Michaël ; Vanhoof, Wim ; Hainaut, Jean-Luc. / Test input generation for database programs using relational constraints. Proceedings of the Fifth International Workshop on Testing Database Systems. New York, NY, USA : ACM Press, 2012. pp. 6:1-6:6 (DBTest '12).
@inproceedings{8c27bcc74b2b4005950c16f8db36bda5,
title = "Test input generation for database programs using relational constraints",
abstract = "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.",
author = "Micha{\"e}l Marcozzi and Wim Vanhoof and Jean-Luc Hainaut",
year = "2012",
doi = "10.1145/2304510.2304518",
language = "English",
series = "DBTest '12",
publisher = "ACM Press",
pages = "6:1--6:6",
booktitle = "Proceedings of the Fifth International Workshop on Testing Database Systems",
address = "United States",

}

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

Test input generation for database programs using relational constraints. / Marcozzi, Michaël; Vanhoof, Wim; Hainaut, Jean-Luc.

Proceedings of the Fifth International Workshop on Testing Database Systems. New York, NY, USA : ACM Press, 2012. p. 6:1-6:6 (DBTest '12).

Research output: Contribution in Book/Catalog/Report/Conference proceedingConference contribution

TY - GEN

T1 - Test input generation for database programs using relational constraints

AU - Marcozzi, Michaël

AU - Vanhoof, Wim

AU - Hainaut, Jean-Luc

PY - 2012

Y1 - 2012

N2 - 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.

AB - 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.

U2 - 10.1145/2304510.2304518

DO - 10.1145/2304510.2304518

M3 - Conference contribution

T3 - DBTest '12

SP - 6:1-6:6

BT - Proceedings of the Fifth International Workshop on Testing Database Systems

PB - ACM Press

CY - New York, NY, USA

ER -

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