A survey of compiler testing

J Chen, J Patra, M Pradel, Y **ong, H Zhang… - ACM Computing …, 2020 - dl.acm.org
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 …

Echidna: effective, usable, and fast fuzzing for smart contracts

G Grieco, W Song, A Cygan, J Feist… - Proceedings of the 29th …, 2020 - dl.acm.org
Ethereum smart contracts---autonomous programs that run on a blockchain---often control
transactions of financial and intellectual property. Because of the critical role they play, smart …

Compiler validation via equivalence modulo inputs

V Le, M Afshari, Z Su - ACM Sigplan Notices, 2014 - dl.acm.org
We introduce equivalence modulo inputs (EMI), a simple, widely applicable methodology for
validating optimizing compilers. Our key insight is to exploit the close interplay between (1) …

Fuzzing: State of the art

H Liang, X Pei, X Jia, W Shen… - IEEE Transactions on …, 2018 - ieeexplore.ieee.org
As one of the most popular software testing techniques, fuzzing can find a variety of
weaknesses in a program, such as software bugs and vulnerabilities, by generating …

A comprehensive study of deep learning compiler bugs

Q Shen, H Ma, J Chen, Y Tian, SC Cheung… - Proceedings of the 29th …, 2021 - dl.acm.org
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 …

Random testing for C and C++ compilers with YARPGen

V Livinskii, D Babokin, J Regehr - Proceedings of the ACM on …, 2020 - dl.acm.org
Compilers should not crash and they should not miscompile applications. Random testing is
an effective method for finding compiler bugs that have escaped other kinds of testing. This …

Software testing: a research travelogue (2000–2014)

A Orso, G Rothermel - Future of Software Engineering Proceedings, 2014 - dl.acm.org
Despite decades of work by researchers and practitioners on numerous software quality
assurance techniques, testing remains one of the most widely practiced and studied …

JIT-picking: Differential fuzzing of JavaScript engines

L Bernhard, T Scharnowski, M Schloegel… - Proceedings of the …, 2022 - dl.acm.org
Modern JavaScript engines that power websites and even full applications on the Web are
driven by the need for an increasingly fast and snappy user experience. These engines use …

Foundationdb: A distributed unbundled transactional key value store

J Zhou, M Xu, A Shraer, B Namasivayam… - Proceedings of the …, 2021 - dl.acm.org
FoundationDB is an open source transactional key value store created more than ten years
ago. It is one of the first systems to combine the flexibility and scalability of NoSQL …

Automated testing of graphics shader compilers

AF Donaldson, H Evrard, A Lascu… - Proceedings of the ACM …, 2017 - dl.acm.org
We present an automated technique for finding defects in compilers for graphics shading
languages. key challenge in compiler testing is the lack of an oracle that classifies an output …