• Publications
  • Influence
LLVM: a compilation framework for lifelong program analysis & transformation
  • Chris Lattner, V. Adve
  • Computer Science
  • International Symposium on Code Generation and…
  • 20 March 2004
TLDR
The design of the LLVM representation and compiler framework is evaluated in three ways: the size and effectiveness of the representation, including the type information it provides; compiler performance for several interprocedural problems; and illustrative examples of the benefits LLVM provides for several challenging compiler problems. Expand
Making context-sensitive points-to analysis with heap cloning practical for the real world
TLDR
This paper shows, for the first time, that a context-sensitive, field-sensitive algorithm with fullheap cloning (by acyclic call paths) can indeed be both scalable and extremely fast in practice. Expand
A type and effect system for deterministic parallel Java
TLDR
It is demonstrated that a practical type and effect system can simplify parallel programming by guaranteeing deterministic semantics with modular, compile-time type checking even in a rich, concurrent object-oriented language such as Java. Expand
Understanding integer overflow in C/C++
TLDR
IOC, a dynamic checking tool for integer overflows, is developed and used to conduct the first detailed empirical study of the prevalence and patterns of occurrence ofinteger overflows in C and C++ code, and shows that intentional uses of wraparound behaviors are more common than is widely believed. Expand
Understanding the propagation of hard errors to software and implications for resilient system design
TLDR
This paper explores a cooperative hardware-software solution that watches for anomalous software behavior to indicate the presence of hardware faults, resulting in identifying low-cost detection methods and providing guidelines for implementation of the recovery and diagnosis components of such a reliability solution. Expand
Software transactional memory for large scale clusters
TLDR
Cluster-STM is presented, an STM designed for high performance on large-scale commodity clusters that addresses several novel issues posed by this domain, including aggregating communication, managing locality, and distributing transactional metadata onto the nodes. Expand
KCoFI: Complete Control-Flow Integrity for Commodity Operating System Kernels
TLDR
A subset of KCoFI's design is formally verified by modeling several features in small-step semantics and providing a partial proof that the semantics maintain control-flow integrity, and the overheads are far lower than heavyweight memory-safety techniques. Expand
Automatic pool allocation: improving performance by controlling data structure layout in the heap
This paper describes Automatic Pool Allocation, a transformation framework that segregates distinct instances of heap-based data structures into seperate memory pools and allows heuristics to be usedExpand
SAFECode: enforcing alias analysis for weakly typed languages
TLDR
A compilation strategy for standard C programs that guarantees that aggressive interprocedural pointer analysis, a call graph, and type information for a subset of memory, are never invalidated by any possible memory errors. Expand
A type and effect system for deterministic parallel Java
TLDR
It is demonstrated that a practical type and effect system can simplify parallel programming by guaranteeing deterministic semantics with modular, compile-time type checking even in a rich, concurrent object-oriented language such as Java. Expand
...
1
2
3
4
5
...