Finding Min-Repros in Database Software

Testing and debugging database system applications is often

challenging and time consuming. A database tester (or DB

tester for short) has to detect a problem, determine why it

happened, set up an environment to reproduce it, and then

create a fix to resolve the problem. In many cases, problems

appear in very complex scenarios, and thus the reproduction

of a problem may be large and difficult to understand. This

makes the task of finding the root cause of the problem very

difficult. As a consequence, a very time-consuming task for

DB testers is finding a min-repro – a process of weeding out

irrelevant inputs and finding the simplest way to reproduce a

problem. Currently, a great deal of searching for a min-repro

is carried out manually, which is both slow and error-prone.

In this paper, we present a system designed to ease find-

ing min-repros in database-related products. The system

employs a number of tools for min-repro search, including:

novel simplification transformations, a high-level script lan-

guage to automate sub-tasks and to guide the search, record-

and-replay functionality, and an intuitive representation of

results and the search space. These tools can save hours

of time (for both customers and testers to isolate the prob-

lem), which could lead to faster fixes and large cost savings

to organizations. Our min-repro system can be executed in

two modes: (1) application mode and (2) game mode. The

complexity and the tediosness of debugging has prompted us

to explore the potential for a “game-like” approach to min-

repro search. Inspired in part by the fact that humans enjoy

“fun applications” and by the prevalence of long-term play

of computer games, we believe that a game-like approach

could help make the process of searching for a min repro

more enjoyable and possibly help find min-repros faster.

PDF file

In  DBTest

Publisher  Association for Computing Machinery, Inc.
Copyright © 2007 by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or The definitive version of this paper can be found at ACM’s Digital Library --


> Publications > Finding Min-Repros in Database Software