Rewrite rule inference using equality saturation

C Nandi, M Willsey, A Zhu, YR Wang, B Saiki… - Proceedings of the …, 2021 - dl.acm.org
Many compilers, synthesizers, and theorem provers rely on rewrite rules to simplify
expressions or prove equivalences. Developing rewrite rules can be difficult: rules may be …

CirC: Compiler infrastructure for proof systems, software verification, and more

A Ozdemir, F Brown, RS Wahby - 2022 IEEE Symposium on …, 2022 - ieeexplore.ieee.org
Cryptographic tools like proof systems, multi-party computation, and fully homomorphic
encryption are usually applied to computations expressed as systems of arithmetic …

Towards verified, constant-time floating point operations

M Andrysco, A Nötzli, F Brown, R Jhala… - Proceedings of the 2018 …, 2018 - dl.acm.org
The runtimes of certain floating-point instructions can vary up to two orders of magnitude
with instruction operands, allowing attackers to break security and privacy guarantees of real …

End-to-end translation validation for the halide language

B Clément, A Cohen - Proceedings of the ACM on Programming …, 2022 - dl.acm.org
This paper considers the correctness of domain-specific compilers for tensor programming
languages through the study of Halide, a popular representative. It describes a translation …

Just fuzz it: solving floating-point constraints using coverage-guided fuzzing

D Liew, C Cadar, AF Donaldson… - … of the 2019 27th ACM Joint …, 2019 - dl.acm.org
We investigate the use of coverage-guided fuzzing as a means of proving satisfiability of
SMT formulas over finite variable domains, with specific application to floating-point …

Towards a verified range analysis for JavaScript JITs

F Brown, J Renner, A Nötzli, S Lerner… - Proceedings of the 41st …, 2020 - dl.acm.org
We present VeRA, a system for verifying the range analysis pass in browser just-in-time (JIT)
compilers. Browser developers write range analysis routines in a subset of C++, and …

Speeding up SMT Solving via Compiler Optimization

B Mikek, Q Zhang - Proceedings of the 31st ACM Joint European …, 2023 - dl.acm.org
SMT solvers are fundamental tools for reasoning about constraints in practical problems like
symbolic execution and program synthesis. Faster SMT solving can improve the …

Floating-point symbolic execution: a case study in n-version programming

D Liew, D Schemmel, C Cadar… - 2017 32nd IEEE …, 2017 - ieeexplore.ieee.org
Symbolic execution is a well-known program analysis technique for testing software, which
makes intensive use of constraint solvers. Recent support for floating-point constraint solving …

Pattern-Based Peephole Optimizations with Java JIT Tests

Z Zang, A Thimmaiah, M Gligoric - Proceedings of the 32nd ACM …, 2023 - dl.acm.org
We present JOG, a framework that facilitates developing Java JIT peephole optimizations
alongside JIT tests. JOG enables developers to write a pattern, in Java itself, that specifies …

Alive-infer: Data-driven precondition inference for peephole optimizations in llvm

D Menendez, S Nagarakatte - Proceedings of the 38th ACM SIGPLAN …, 2017 - dl.acm.org
Peephole optimizations are a common source of compiler bugs. Compiler developers
typically transform an incorrect peephole optimization into a valid one by strengthening the …