Title
A relational symbolic execution algorithm for constraint-based testing of database programs
Abstract
In constraint-based program testing, symbolic execution is a technique which allows to generate test data exercising a given execution path, selected within the program to be tested. Applied to a set of paths covering a sufficient part of the code under test, this technique permits to generate automatically adequate test sets for units of code. As databases are ubiquitous in software, generalizing such a technique for efficient testing of programs manipulating databases is an interesting approach to enhance the reliability of software. In this work, we propose a relational symbolic execution algorithmto be used for testing of simple Java methods, reading and writing with transactional SQL in a relational database, subject to integrity constraints. This algorithm considers the Java method under test as a sequence of operations over a set of constrained relational variables, modeling both the database tables and the method variables. By integrating this relational model of the method and database with the classical symbolic execution process, the algorithm can generate a set of Alloy constraints for any finite path to test in the control-flow graph of the method. Solutions of these constraints are data which constitute a test case, including valid content for the database, which exercises the selected path in the method. A tool implementing the proposed algorithm is demonstrated over a number of examples.
Year
DOI
Venue
2013
10.1109/SCAM.2013.6648200
SCAM
Keywords
Field
DocType
relational databases,java methods,relational model,constraint-based database program testing,program testing,relational symbolic execution algorithm,relational database,software reliability,execution path,database tables,constrained relational variables,symbol manipulation,test data generation,symbolic execution process,control-flow graph,automatic adequate test set generation,integrity constraints,constraint handling,flow graphs,transactional sql,alloy constraints,java,sql
Programming language,Relational database,Database model,Computer science,Theoretical computer science,Concolic testing,Symbolic execution,Basis path testing,Algorithm,Database design,Database testing,Relational model,Database
Conference
ISSN
Citations 
PageRank 
1942-5430
6
0.39
References 
Authors
31
3
Name
Order
Citations
PageRank
Michaël Marcozzi1275.55
Wim Vanhoof222621.26
Jean-Luc Hainaut3901254.54