Alive2: bounded translation validation for LLVM
We designed, implemented, and deployed Alive2: a bounded translation validation tool for
the LLVM compiler's intermediate representation (IR). It limits resource consumption by, for …
the LLVM compiler's intermediate representation (IR). It limits resource consumption by, for …
How far we have come: Testing decompilation correctness of C decompilers
AC decompiler converts an executable (the output from a C compiler) into source code. The
recovered C source code, once recompiled, will produce an executable with the same …
recovered C source code, once recompiled, will produce an executable with the same …
Refining decompiled c code with large language models
AC decompiler converts an executable into source code. The recovered C source code,
once re-compiled, is expected to produce an executable with the same functionality as the …
once re-compiled, is expected to produce an executable with the same functionality as the …
Sok: Demystifying binary lifters through the lens of downstream applications
Binary lifters convert executables into an intermediate representation (IR) of a compiler
framework. The recovered IR code is generally deemed “analysis friendly,” bridging low …
framework. The recovered IR code is generally deemed “analysis friendly,” bridging low …
CF-GKAT: Efficient Validation of Control-Flow Transformations
Guarded Kleene Algebra with Tests (GKAT) provides a sound and complete framework to
reason about trace equivalence between simple imperative programs. However, there are …
reason about trace equivalence between simple imperative programs. However, there are …
Formal mathematical reasoning: A new frontier in ai
AI for Mathematics (AI4Math) is not only intriguing intellectually but also crucial for AI-driven
discovery in science, engineering, and beyond. Extensive efforts on AI4Math have mirrored …
discovery in science, engineering, and beyond. Extensive efforts on AI4Math have mirrored …
SLaDe: A Portable Small Language Model Decompiler for Optimized Assembly
Decompilation is a well-studied area with numerous high-quality tools available. These are
frequently used for security tasks and to port legacy code. However, they regularly generate …
frequently used for security tasks and to port legacy code. However, they regularly generate …
Language-parametric compiler validation with application to LLVM
We propose a new design for a Translation Validation (TV) system geared towards practical
use with modern optimizing compilers, such as LLVM. Unlike existing TV systems, which are …
use with modern optimizing compilers, such as LLVM. Unlike existing TV systems, which are …
A broad comparative evaluation of x86-64 binary rewriters
Binary rewriting is a rapidly-maturing technique for modifying software for instrumentation,
customization, optimization, and hardening without access to source code. Unfortunately …
customization, optimization, and hardening without access to source code. Unfortunately …
mlirSynth: Automatic, Retargetable Program Raising in Multi-Level IR using Program Synthesis
MLIR is an emerging compiler infrastructure for modern hardware, but existing programs
cannot take advantage of MLIR's high-performance compilation if they are described in …
cannot take advantage of MLIR's high-performance compilation if they are described in …