TASO: optimizing deep learning computation with automatic generation of graph substitutions
Existing deep neural network (DNN) frameworks optimize the computation graph of a DNN
by applying graph transformations manually designed by human experts. This approach …
by applying graph transformations manually designed by human experts. This approach …
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 …
Tracelet-based code search in executables
We address the problem of code search in executables. Given a function in binary form and
a large code base, our goal is to statically find similar functions in the code base. Towards …
a large code base, our goal is to statically find similar functions in the code base. Towards …
Stochastic optimization of floating-point programs with tunable precision
The aggressive optimization of floating-point computations is an important problem in high-
performance computing. Unfortunately, floating-point instruction sets have complicated …
performance computing. Unfortunately, floating-point instruction sets have complicated …
Semantic program alignment for equivalence checking
We introduce a robust semantics-driven technique for program equivalence checking. Given
two functions we find a trace alignment over a set of concrete executions of both programs …
two functions we find a trace alignment over a set of concrete executions of both programs …
Similarity of binaries through re-optimization
We present a scalable approach for establishing similarity between stripped binaries (with
no debug information). The main challenge in binary similarity, is to establish similarity even …
no debug information). The main challenge in binary similarity, is to establish similarity even …
Unleashing the hidden power of compiler optimization on binary code difference: An empirical study
Hunting binary code difference without source code (ie, binary diffing) has compelling
applications in software security. Due to the high variability of binary code, existing solutions …
applications in software security. Due to the high variability of binary code, existing solutions …
Souper: A synthesizing superoptimizer
R Sasnauskas, Y Chen, P Collingbourne… - arXiv preprint arXiv …, 2017 - arxiv.org
If we can automatically derive compiler optimizations, we might be able to sidestep some of
the substantial engineering challenges involved in creating and maintaining a high-quality …
the substantial engineering challenges involved in creating and maintaining a high-quality …
Property directed self composition
We address the problem of verifying k-safety properties: properties that refer to k interacting
executions of a program. A prominent way to verify k-safety properties is by self composition …
executions of a program. A prominent way to verify k-safety properties is by self composition …
Enforcing almost-sure reachability in POMDPs
Abstract Partially-Observable Markov Decision Processes (POMDPs) are a well-known
stochastic model for sequential decision making under limited information. We consider the …
stochastic model for sequential decision making under limited information. We consider the …