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 finding min-repros in database-related products. The system employs a number of tools for min-repro search, including: novel simplification transformations, a high-...
Nicolas Bruno, Rimma V. Nehme