Graph Database Management Systems (GDBMS), which utilize graph models for data storage and execute queries via graph traversals, have seen ubiquitous usage in real-world scenarios such as recommendation systems, knowledge graphs, and social networks. …
Testing database management systems (DBMSs) is a complex task. The vagueness and intricacy of the SQL specification make it difficult to model the semantics of queries, making it challenging to test the correctness and performance of DBMSs. …
Change Data Capture (CDC) tools play a pivotal role in tracking and managing alterations to databases. Most of them become crucial components in the realm of data management,providing a systematic approach to identify and capture changes made to …
Fuzzing of compilers and code analysers has led to a large number of bugs being found and fixed in widely-used frameworks such as LLVM, GCC and Frama-C. Most such fuzzing techniques have taken a blackbox approach, with compilers and code analysers …
Complete and correct build dependencies are critical to successful builds and are often violated and ignored by practitioners using MAKE, one of the widely used build systems. Incomplete declarations of build dependencies can lead to incorrect or …
Database Management Systems (DBMSs) are essential for efficient data storage and retrieval. To prevent bugs from being introduced, DBMS developers have implemented extensive test suites; for example, the SQLite test suites contain over 92 million …
Shaohua Li is a last-year Ph.D. student at ETH Zurich, advised by Prof. Zhendong Su. He is generally interested in fuzzing, security, and compilers. His current research focuses on detecting undefined behaviors, solidifying sanitizer implementations, and compiler testing. His research has discovered over 100 unknown bugs in mature compilers including GCC and LLVM. His research on finding sanitizer bugs has won the 2022 Meta Security Research RFP award.
We propose a testing framework for validating static typing procedures in compilers. Our core component is a program generator suitably crafted for producing programs that are likely to trigger typing compiler bugs. One of our main contributions is …