Software unit test coverage and adequacy
ACM Computing Surveys (CSUR)
Finding bugs with a constraint solver
Proceedings of the 2000 ACM SIGSOFT international symposium on Software testing and analysis
Testing Computer Software
Automatic Generation of Database Instances for White-box Testing
COMPSAC '01 Proceedings of the 25th International Computer Software and Applications Conference on Invigorating Software Development
An AGENDA for testing relational database applications: Research Articles
Software Testing, Verification & Reliability
An intensional approach to the specification of test cases for database applications
Proceedings of the 28th international conference on Software engineering
Software Abstractions: Logic, Language, and Analysis
Software Abstractions: Logic, Language, and Analysis
Dynamic test input generation for database applications
Proceedings of the 2007 international symposium on Software testing and analysis
Static checking of dynamically generated queries in database applications
ACM Transactions on Software Engineering and Methodology (TOSEM)
Query-based test generation for database applications
Proceedings of the 1st international workshop on Testing database systems
On automated prepared statement generation to remove SQL injection vulnerabilities
Information and Software Technology
Query-Aware Test Generation Using a Relational Constraint Solver
ASE '08 Proceedings of the 2008 23rd IEEE/ACM International Conference on Automated Software Engineering
Mapping between Alloy Specifications and Database Implementations
SEFM '09 Proceedings of the 2009 Seventh IEEE International Conference on Software Engineering and Formal Methods
ICFEM '09 Proceedings of the 11th International Conference on Formal Engineering Methods: Formal Methods and Software Engineering
Constraint-based test database generation for SQL queries
Proceedings of the 5th Workshop on Automation of Software Test
Towards a framework for constraint-based test case generation
LOPSTR'09 Proceedings of the 19th international conference on Logic-Based Program Synthesis and Transformation
Generating program inputs for database application testing
ASE '11 Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering
Hi-index | 0.00 |
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.