A survey of compiler testing
Virtually any software running on a computer has been processed by a compiler or a
compiler-like tool. Because compilers are such a crucial piece of infrastructure for building …
compiler-like tool. Because compilers are such a crucial piece of infrastructure for building …
Whitefox: White-box compiler fuzzing empowered by large language models
Compiler correctness is crucial, as miscompilation can falsify program behaviors, leading to
serious consequences over the software supply chain. In the literature, fuzzing has been …
serious consequences over the software supply chain. In the literature, fuzzing has been …
A comprehensive study of deep learning compiler bugs
There are increasing uses of deep learning (DL) compilers to generate optimized code,
boosting the runtime performance of DL models on specific hardware. Like their traditional …
boosting the runtime performance of DL models on specific hardware. Like their traditional …
Finding compiler bugs via live code mutation
Validating optimizing compilers is challenging because it is hard to generate valid test
programs (ie, those that do not expose any undefined behavior). Equivalence Modulo Inputs …
programs (ie, those that do not expose any undefined behavior). Equivalence Modulo Inputs …
Toward understanding deep learning framework bugs
DL frameworks are the basis of constructing all DL programs and models, and thus their
bugs could lead to the unexpected behaviors of any DL program or model relying on them …
bugs could lead to the unexpected behaviors of any DL program or model relying on them …
Bugs in Quantum computing platforms: an empirical study
The interest in quantum computing is growing, and with it, the importance of software
platforms to develop quantum programs. Ensuring the correctness of such platforms is …
platforms to develop quantum programs. Ensuring the correctness of such platforms is …
Perses: Syntax-guided program reduction
Given a program P that exhibits a certain property Ψ (eg, a C program that crashes GCC
when it is being compiled), the goal of program reduction is to minimize P to a smaller …
when it is being compiled), the goal of program reduction is to minimize P to a smaller …
Lpr: Large language models-aided program reduction
Program reduction is a widely used technique to facilitate debugging compilers by
automatically minimizing programs that trigger compiler bugs. Existing program reduction …
automatically minimizing programs that trigger compiler bugs. Existing program reduction …
Deepfuzz: Automatic generation of syntax valid c programs for fuzz testing
Compilers are among the most fundamental programming tools for building software.
However, production compilers remain buggy. Fuzz testing is often leveraged with …
However, production compilers remain buggy. Fuzz testing is often leveraged with …
Skeletal program enumeration for rigorous compiler testing
A program can be viewed as a syntactic structure P (syntactic skeleton) parameterized by a
collection of identifiers V (variable names). This paper introduces the skeletal program …
collection of identifiers V (variable names). This paper introduces the skeletal program …