Weekly Talk

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 …

Detecting Logic Bugs in Database Engines via Equivalent Expression Transformation

Database management systems (DBMSs) are crucial for storing and fetching data. To improve the reliability of such systems, approaches have been proposed to detect logic bugs that cause DBMSs to process data incorrectly. These approaches manipulate …

Inconsistencies in TeX-produced Documents

TeX is a widely-used typesetting system adopted by most publishers and professional societies due to its versatility and formatting capabilities. While the TeX is responsible for generating a significant amount of documents, irregularities in the TeX …

Intelligent Code Analysis and Program Repair in the Era of LLMs

Code analysis and automatic program repair has been studied for a long time since high-level programming languages such as C language were invented in the 1970s. Traditional rule-based code analysis techniques and template-based automatic program …

Detecting and Verifying Unexpected Behaviors in Web Applications using Program Analysis

In this work, we focus on the automatic detection and verification of unexpected behaviors on the Web. The ultimate goal is to produce an end-to-end automated tool for both detection and verification. We split it into two parts and achieve them stage …

CS3213 Lecture - Software Evolution

A lecture for CS3213 Foundations of Software Engineering

Finding Logic Bugs in Spatial Database Engines via Affine Equivalent Inputs

Spatial Database Management Systems (SDBMSs) aim to store, manipulate, and retrieve spatial data spatial data. SDBMSs provide spatial data types, spatial indexing, and spatial join methods, which exist as the spatial extensions or spatial build-in …