LLVM: A compilation framework for lifelong program analysis & transformation

C Lattner, V Adve - … on code generation and optimization, 2004 …, 2004 - ieeexplore.ieee.org
We describe LLVM (low level virtual machine), a compiler framework designed to support
transparent, lifelong program analysis and transformation for arbitrary programs, by …

Obfuscation of executable code to improve resistance to static disassembly

C Linn, S Debray - Proceedings of the 10th ACM conference on …, 2003 - dl.acm.org
A great deal of software is distributed in the form of executable code. The ability to reverse
engineer such executables can create opportunities for theft of intellectual property via …

[PDF][PDF] LLVM: An infrastructure for multi-stage optimization

CA Lattner - 2002 - llvm.org
Modern programming languages and software engineering principles are causing
increasing problems for compiler systems. Traditional approaches, which use a simple …

Bolt: a practical binary optimizer for data centers and beyond

M Panchenko, R Auler, B Nell… - 2019 IEEE/ACM …, 2019 - ieeexplore.ieee.org
Performance optimization for large-scale applications has recently become more important
as computation continues to move towards data centers. Data-center applications are …

Disassembly of executable code revisited

B Schwarz, S Debray, G Andrews - Ninth Working Conference …, 2002 - ieeexplore.ieee.org
Machine code disassembly routines form a fundamental component of software systems that
statically analyze or modify executable programs, eg, reverse engineering systems, static …

Binary Obfuscation Using Signals.

IV Popov, SK Debray, GR Andrews - USENIX Security Symposium, 2007 - usenix.org
Reverse engineering of software is the process of recovering higher-level structure and
meaning from a lower-level program representation. It can be used for legitimate purposes …

Propeller: A profile guided, relinking optimizer for warehouse-scale applications

H Shen, K Pszeniczny, R Lavaee, S Kumar… - Proceedings of the 28th …, 2023 - dl.acm.org
While profile guided optimizations (PGO) and link time optimiza-tions (LTO) have been
widely adopted, post link optimizations (PLO) have languished until recently when …

[PDF][PDF] Plto: A link-time optimizer for the Intel IA-32 architecture

B Schwarz, S Debray, G Andrews… - Proc. 2001 Workshop on …, 2001 - cs.arizona.edu
This paper describes PLTO, a link-time instrumentation and optimization tool we have
developed for the Intel IA-32 architecture. A number of characteristics of this architecture …

[PDF][PDF] Bmat-a binary matching tool for stale profile propagation

Z Wang, K Pierce, S McFarling - The Journal of Instruction-Level …, 2000 - Citeseer
A major challenge of applying profile-based optimization on large real-world applications is
how to capture adequate profile information. A large program, especially a GUI-based …

[PDF][PDF] Design and implementation of a lightweight dynamic optimization system

J Lu, H Chen, PC Yew, WC Hsu - Journal of Instruction-Level …, 2004 - researchgate.net
Many opportunities exist to improve micro-architectural performance due to performance
events that are difficult to optimize at static compile time. Cache misses and branch mis …