Litcius/Paper detail

Finding Unstable Code via Compiler-Driven Differential Testing

Shaohua Li, Zhendong Su

202315 citationsDOI

Abstract

Unstable code refers to code that has inconsistent or unstable run-time semantics due to undefined behavior (UB) in the program. Compilers exploit UB by assuming that UB never occurs, which allows them to generate efficient but potentially semantically inconsistent binaries. Practitioners have put great research and engineering effort into designing dynamic tools such as sanitizers for frequently occurring UBs. However, it remains a big challenge how to detect UBs that are beyond the reach of current techniques.

Topics & Concepts

CompilerComputer scienceExploitProgramming languageCode (set theory)Semantics (computer science)Code generationParallel computingOperating systemComputer securitySet (abstract data type)Key (lock)Software Testing and Debugging TechniquesFormal Methods in VerificationSoftware Reliability and Analysis Research