Database state generation via dynamic symbolic execution for coverage criteria

  • Authors:
  • Kai Pan;Xintao Wu;Tao Xie

  • Affiliations:
  • University of North Carolina at Charlotte;University of North Carolina at Charlotte;North Carolina State University

  • Venue:
  • Proceedings of the Fourth International Workshop on Testing Database Systems
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Automatically generating sufficient database states is imperative to reduce human efforts in testing database applications. Complementing the traditional block or branch coverage, we develop an approach that generates database states to achieve advanced code coverage including boundary value coverage(BVC) and logical coverage(LC) for source code under test. In our approach, we leverage dynamic symbolic execution to examine close relationships among host variables, embedded SQL query statements, and branch conditions in source code. We then derive constraints such that data satisfying those constraints can achieve the target coverage criteria. We implement our approach upon Pex, which is a state-of-the-art DSE-based test-generation tool for .NET. Empirical evaluations on two real database applications show that our approach assists Pex to generate test database states that can effectively achieve both BVC and LC, complementing the block or branch coverage.