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 …
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, …
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 …
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 …
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 …
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 …
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 …
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 …
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, …
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 …