Automatically Testing Database Systems: Existing Approaches and Future Directions
22 Feb 2022 Tuesday, 04:00 PM to 05:00 PM
Database Management Systems (DBMSs) are used ubiquitously. Due to the ever-growing performance demands, increasingly sophisticated systems and optimizations are developed. This is a major challenge for developers of DBMSs, which have to ensure that their system is both correct and efficient. One prime approach to ensuring the reliability of DBMSs is automated testing. Automated testing can find bugs without user interaction, but not guarantee their absence. Generally speaking, such approaches involve generating a test case and then validating the test case's result (which is known as a test oracle). In this talk, I will give an overview of the automated testing landscape focusing on the available test oracles. Furthermore, I will outline open challenges and highlight potential future directions.
Manuel Rigger will join the National University of Singapore in summer 2022 as an Assistant Professor. Currently, he is a postdoctoral researcher in the Advanced Software Technologies (AST) Lab at ETH Zurich, mentored by Zhendong Su. His research goal is to make software more reliable by developing practical and principled approaches to tackle important challenges related to correctness, performance, and security. He draws on and contributes to the software engineering, systems, programming languages, and compilers fields. His recent work has focused on automatically testing Database Management Systems, and led to over 450 unique bugs in widely-used systems such as SQLite, MySQL, PostgreSQL, TiDB, and CockroachDB being discovered, most of which have been fixed. He completed his PhD at Johannes Kepler University Linz, mentored by Hanspeter Mossenbock, and worked on the safe and efficient execution of unsafe languages (project Sulong). Part of this work was integrated into Oracle's GraalVM to support its execution of LLVM IR. More information about his research group at NUS appears at https://mrigger.github.io/positions/