Results 1 - 10
of
14
LLVM: A compilation framework for lifelong program analysis & transformation
, 2004
"... ... a compiler framework designed to support transparent, lifelong program analysis and transformation for arbitrary programs, by providing high-level information to compiler transformations at compile-time, link-time, run-time, and in idle time between runs. LLVM defines a common, low-level code re ..."
Abstract
-
Cited by 852 (20 self)
- Add to MetaCart
for several interprocedural problems; and (c) illustrative examples of the benefits LLVM provides for several challenging compiler problems.
LLVM: An Infrastructure for Multi-Stage Optimization
, 2002
"... Modern programming languages and software engineering principles are causing increasing problems for compiler systems. Traditional approaches, which use a simple compile-link-execute model, are unable to provide adequate application performance under the demands of the new conditions. Traditional ap ..."
Abstract
-
Cited by 76 (6 self)
- Add to MetaCart
approaches to interprocedural and profile-driven compilation can provide the application performance needed, but require infeasible amounts of compilation time to build the application. This thesis presents LLVM, a design and implementation of a compiler infrastructure which supports a unique multi
ABSTRACT LLVM: A Compilation Framework for
"... a compiler framework designed to support transparent, lifelong program analysis and transformation for arbitrary programs, by providing high-level information to compiler transformations at compile-time, link-time, run-time, and in idle time between runs. LLVM defines a common, low-level code repres ..."
Abstract
- Add to MetaCart
for several interprocedural problems; and (c) illustrative examples of the benefits LLVM provides for several challenging compiler problems. 1.
Points-To Analysis with Efficient Strong Updates
"... This paper explores a sweet spot between flow-insensitive and flowsensitive subset-based points-to analysis. Flow-insensitive analysis is efficient: it has been applied to million-line programs and even its worst-case requirements are quadratic space and cubic time. Flowsensitive analysis is precise ..."
Abstract
-
Cited by 18 (0 self)
- Add to MetaCart
, with the same worst-case bounds, yet its precision benefits from strong updates like flow-sensitive analysis. The key enabling insight is that strong updates are applicable when the dereferenced points-to set is a singleton, and a singleton set is cheap to analyze. The analysis therefore focuses flow
From Under-approximations to Over-approximations and Back
- IN: PROC. OF TACAS‘12
, 2012
"... Current approaches to software model checking can be divided into over-approximation-driven (OD) and under-approximation-driven (UD). OD approaches maintain an abstraction of the transition relation of a program and use abstract reachability to build an inductive invariant (or find a counterexample) ..."
Abstract
-
Cited by 12 (8 self)
- Add to MetaCart
the analysis, while using interpolants to strengthen the abstraction. We have implemented Ufo in LLVM and applied it to programs from the Competition on Software Verification. Our experimental results demonstrate the utility of our algorithm and the benefits of combining UD and OD approaches.
A Case for an SC-Preserving Compiler
- In PLDI
, 2011
"... The most intuitive memory consistency model for shared-memory multi-threaded programming is sequential consistency (SC). However, current concurrent programming languages support a relaxed model, as such relaxations are deemed necessary for enabling important optimizations. This paper demonstrates t ..."
Abstract
-
Cited by 18 (2 self)
- Add to MetaCart
that an SC-preserving compiler, one that ensures that every SC behavior of a compiler-generated binary is an SC behavior of the source program, retains most of the performance benefits of an optimizing compiler. The key observation is that a large class of optimizations crucial for performance are either
CHERI: A Hybrid Capability-System Architecture for
"... Abstract—CHERI extends a conventional RISC Instruction-Set Architecture, compiler, and operating system to support fine-grained, capability-based memory protection to mitigate memory-related vulnerabilities in C-language TCBs. We describe how CHERI capabilities can also underpin a hardware-software ..."
Abstract
- Add to MetaCart
-software object-capability model for application compartmentalization that can mitigate broader classes of attack. Prototyped as an extension to the open-source 64-bit BERI RISC FPGA soft-core processor, FreeBSD operating system, and LLVM compiler, we demonstrate multiple orders-of-magnitude improvement
A Compiler Target Model for Line Associative Registers
"... Line Associative Registers (LARs) are the basis for a new class of processor architectures in which memory accesses are minimized by explicitly managing wide lines of instructions and data in processor registers. The design of LARs has signi cant commonality with a number of existing technologies w ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
and registers. In order to effectively test and utilize this new design, suitable development tools must be written. This paper attempts to describe the implications of a LARs-based architecture for compiler writers, and demonstrate that the benefits of such a design can be harnessed with the use
Decompilation to compiler high IR in a binary rewriter. http://www. ece.umd.edu/~barua/high-IR-technical-report10.pdf
, 2010
"... A binary rewriter is a piece of software that accepts a binary executable program as input, and produces an improved executable as output. This paper describes the first technique in literature to decompile the input binary into an existing compiler’s high-level intermediate form (IR). The compiler’ ..."
Abstract
-
Cited by 8 (2 self)
- Add to MetaCart
to overcome these challenges. We have built a prototype binary rewriter called SecondWrite that uses LLVM, a widely-used compiler infrastructure, as our intermediate IR, and rewrites both x86 binaries. Our re-sults show that SecondWrite accelerates un-optimized bi-naries by 27 % on average for our benchmarks
Clean Application Compartmentalization with SOAAP
"... Application compartmentalization, a vulnerability mitiga-tion technique employed in programs such as OpenSSH and the Chromium web browser, decomposes software into iso-lated components to limit privileges leaked or otherwise available to attackers. However, compartmentalizing appli-cations – and mai ..."
Abstract
- Add to MetaCart
, complexity, and performance. We present a new conceptual framework embodied in an LLVM-based tool: the Security-Oriented Analysis of Appli-cation Programs (SOAAP) that allows programmers to rea-son about compartmentalization using source-code annota-tions (compartmentalization hypotheses). We demonstrate
Results 1 - 10
of
14