Neural code comprehension: A learnable representation of code semantics
T Ben-Nun, AS Jakobovits… - Advances in neural …, 2018 - proceedings.neurips.cc
With the recent success of embeddings in natural language processing, research has been
conducted into applying similar methods to code analysis. Most works attempt to process the …
conducted into applying similar methods to code analysis. Most works attempt to process the …
Efficient context-sensitive pointer analysis for C programs
RP Wilson, MS Lam - ACM Sigplan Notices, 1995 - dl.acm.org
This paper proposes an efficient technique for context-sensitive pointer analysis that is
applicable to real C programs. For efficiency, we summarize the effects of procedures using …
applicable to real C programs. For efficiency, we summarize the effects of procedures using …
[图书][B] Data flow analysis: theory and practice
U Khedker, A Sanyal, B Sathe - 2017 - taylorfrancis.com
Data flow analysis is used to discover information for a wide variety of useful applications,
ranging from compiler optimizations to software engineering and verification. Modern …
ranging from compiler optimizations to software engineering and verification. Modern …
Interprocedural pointer alias analysis
We present practical approximation methods for computing and representing
interprocedural aliases for a program written in a language that includes pointers, reference …
interprocedural aliases for a program written in a language that includes pointers, reference …
Sparse representation of implicit flows with applications to side-channel detection
B Rodrigues, FM Quintão Pereira… - Proceedings of the 25th …, 2016 - dl.acm.org
Information flow analyses traditionally use the Program Dependence Graph (PDG) as a
supporting data-structure. This graph relies on Ferrante et al.'s notion of control …
supporting data-structure. This graph relies on Ferrante et al.'s notion of control …
[图书][B] The compiler design handbook: optimizations and machine code generation
YN Srikant, P Shankar - 2002 - taylorfrancis.com
The widespread use of object-oriented languages and Internet security concerns are just the
beginning. Add embedded systems, multiple memory banks, highly pipelined units …
beginning. Add embedded systems, multiple memory banks, highly pipelined units …
Practical improvements to the construction and destruction of static single assignment form
Abstract Static Single Assignment (SSA) form is a program representation that is becoming
increasingly popular for compiler-based code optimization. In this paper, we address three …
increasingly popular for compiler-based code optimization. In this paper, we address three …
Formal verification of SSA-based optimizations for LLVM
Modern compilers, such as LLVM and GCC, use a static single assignment (SSA)
intermediate representation (IR) to simplify and enable many advanced optimizations …
intermediate representation (IR) to simplify and enable many advanced optimizations …
Simple and efficient construction of static single assignment form
We present a simple SSA construction algorithm, which allows direct translation from an
abstract syntax tree or bytecode into an SSA-based intermediate representation. The …
abstract syntax tree or bytecode into an SSA-based intermediate representation. The …
A new algorithm for partial redundancy elimination based on SSA form
A new algorithm, SSAPRE, for performing partial redundancy elimination based entirely on
SSA form is presented. It achieves optimal code motion similar to lazy code motion [KRS94a …
SSA form is presented. It achieves optimal code motion similar to lazy code motion [KRS94a …