Yesterday, my program worked. Today, it does not. Why?
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Simplifying and Isolating Failure-Inducing Input
IEEE Transactions on Software Engineering
Holistic twig joins: optimal XML pattern matching
Proceedings of the 2002 ACM SIGMOD international conference on Management of data
Proceedings of the 17th International Conference on Data Engineering
Massive Stochastic Testing of SQL
VLDB '98 Proceedings of the 24rd International Conference on Very Large Data Bases
HDD: hierarchical delta debugging
Proceedings of the 28th international conference on Software engineering
Configuration-parametric query optimization for physical design tuning
Proceedings of the 2008 ACM SIGMOD international conference on Management of data
Finding min-repros in database software
Proceedings of the Second International Workshop on Testing Database Systems
FlexMin: a flexible tool for automatic bug isolation in DBMS software
Proceedings of the Fourth International Workshop on Testing Database Systems
Observing SQL queries in their natural habitat
ACM Transactions on Database Systems (TODS)
Hi-index | 0.00 |
Database engines and database-centric applications have become complex software systems. Ensuring bug-free database services is therefore a very difficult task. Whenever possible, bugs that are uncovered during testing are associated with a repro, or sequence of steps that deterministically reproduce the problem. Unfortunately, due to factors such as automated test generation, repros are generally too long and complex. This issue prevents developers reacting quickly to new bugs, since usually a long manual "repro-minimization" phase occurs before the actual debugging takes place. In this paper we present a fully automated technique to minimize database repros that leverages underlying language grammars and thus is significantly more focused than previous approaches. Our approach has been successfully used in two commercial database products to isolate and simplify bugs during early development stages. We show that our technique consistently results in repros that are as concise or simpler and obtained much faster than alternative ones carefully constructed manually.