A Symbolic Execution Algorithm for Constraint-Based Testing of Database Programs
Micha\"el Marcozzi, Wim Vanhoof, Jean-Luc Hainaut

TL;DR
This paper introduces a symbolic execution algorithm tailored for constraint-based testing of database programs, using a formal language to model interactions and generating test data that guarantees path coverage.
Contribution
It proposes a novel symbolic execution algorithm for SimpleDB, a formal language for database-program interactions, enabling systematic test data generation for database-involving programs.
Findings
Algorithm effectively generates test inputs for database programs.
Experimental evaluation shows promising results on SimpleDB models.
Ensures path-specific testing with database state initialization.
Abstract
In so-called constraint-based testing, symbolic execution is a common technique used as a part of the process to generate test data for imperative programs. Databases are ubiquitous in software and testing of programs manipulating databases is thus essential to enhance the reliability of software. This work proposes and evaluates experimentally a symbolic ex- ecution algorithm for constraint-based testing of database programs. First, we describe SimpleDB, a formal language which offers a minimal and well-defined syntax and seman- tics, to model common interaction scenarios between pro- grams and databases. Secondly, we detail the proposed al- gorithm for symbolic execution of SimpleDB models. This algorithm considers a SimpleDB program as a sequence of operations over a set of relational variables, modeling both the database tables and the program variables. By inte- grating this…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Testing and Debugging Techniques · Software Reliability and Analysis Research · Real-time simulation and control systems
