Weekly Talk

Automated test case reduction in query specific language(s)

Database testing tools like SQLsmith and SQLancer generate lengthy test cases to identify several categories of database bugs. While these tools are effective in identifying issues, usually the resulting test is large and complex, making it difficult …

Improving the Extensibility of SQLancer

SQLancer, an open-source tool for testing database management systems (DBMS), is instrumental in uncovering bugs within real-world applications. However, maintaining SQLancer has become increasingly challenging due to tightly coupled components, …

CodeGRITS: A Research Toolkit for Developer Behavior and Eye Tracking in IDE

Traditional methodologies for exploring programmers’ behaviors have primarily focused on capturing their actions within the Integrated Development Environment (IDE), offering limited view into their cognitive processes. Recent emergent work started …

Automatically Generating an Abstract Interpretation-Based Optimizer from a DSL (SPLASH SRC Practice)

Just-in-Time (JIT) compilers can gain information at run time that are not available to Ahead-of-Time (AOT) compilers. As such, abstract interpretation baseline JIT compilers are common in many dynamic language implementations. Yet the reference …

Are Deep Reinforcement Learning Implementations Really Interchangeable?

Deep Reinforcement Learning (DRL) is a paradigm of artificial intelligence where an agent uses a neural network to learn which actions to take in a given environment. DRL has recently gained traction from being able to solve complex environments like …

Detecting Build Dependency Errors in Incremental Builds

Incremental and parallel builds performed by build tools such as Make are the heart of modern C/C++ software projects. Their correct and efficient execution depends on build scripts. However, build scripts are prone to errors. The most prevalent …

A Simple yet Effective Framework for Testing Various Isolation Levels in Black-Box Databases

Isolation levels act as correctness contracts between real-world applications and database systems. Incorrect implementations of isolation levels would compromise the data consistency and integrity in the database. Therefore, exploring a correctness …

Automatic Uncovering Memory Errors in the PHP Engine via Dataflow Fusion and Mutation

PHP, a dominant scripting language for web development, powers a vast array of websites, ranging from personal blogs to major platforms. Despite its widespread use and benefits, the PHP runtime, with its extensive codebase written in C, faces …

Scaling Automated Database System Testing

Recently, various automated testing approaches have been proposed that used specialized test oracles to find hundreds of logic bugs in mature, widely-used Database Management Systems (DBMSs). These test oracles require database and query generators, …

ViewChecker: A Sound and Complete Checker for View-Serializability in Quadratic Time Complexity

Atomicity is a crucial correctness criterion for concurrent programs. In multi-threaded programs, executions of procedures are regarded as transactions. These transactions may fail to behave atomically, resulting in transactional atomicity …