Demo Data from EDBT 2026 / reviewers in the wild / expert
Leaf Petersen
dblp:96/5317
· DBLP profile ↗
7ranked-venue papers
3as first author
0since 2021 · last 2013
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 6 · 3 first-authorSystems, architecture and hardware · 1
Expertise — from the expertise taxonomy: the topics of the expert's papers under the CCF categories. A weight counts papers with recency: 1 for a paper about the topic, 0.3 when the topic is its context, halved every five years.
| Software engineering, system software, and programming languages
3 papers |
Programming languages and type systems · 34% Runtime systems and virtual machines · 22% Program analysis · 15% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Parallel and multicore computing · 32% Processor architecture and microarchitecture · 32% Memory systems · 18% |
Topics — the 13 heaviest of 13, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Runtime systems and virtual machines
language runtime |
0.1 | 1 | 2007 | Enabling scalability and performance in a large scale CMP environment · EuroSys 2007 |
Processor architecture and microarchitecture
chip multiprocessor |
0.1 | 1 | 2007 | Enabling scalability and performance in a large scale CMP environment · EuroSys 2007 |
Parallel and multicore computing
parallel programming runtimes |
0.1 | 1 | 2007 | Enabling scalability and performance in a large scale CMP environment · EuroSys 2007 |
Program verification › security property verification
memory safety verification |
0.1 | 1 | 2006 | A verifiable SSA program representation for aggressive compiler optimization · POPL 2006 |
Program analysis
program representation |
0.1 | 1 | 2006 | A verifiable SSA program representation for aggressive compiler optimization · POPL 2006 |
Compilers and program optimization › intermediate representation
static single assignment form |
0.1 | 1 | 2006 | A verifiable SSA program representation for aggressive compiler optimization · POPL 2006 |
Programming languages and type systems › type systems
type soundness |
0.1 | 1 | 2006 | A verifiable SSA program representation for aggressive compiler optimization · POPL 2006 |
Programming languages and type systems › type theory
linear type theory |
0.0 | 1 | 2003 | A type theory for memory allocation and data layout · POPL 2003 |
Programming languages and type systems
type theory |
0.0 | 1 | 2003 | A type theory for memory allocation and data layout · POPL 2003 |
Storage systems
data layout |
0.0 | 1 | 2003 | A type theory for memory allocation and data layout · POPL 2003 |
Memory systems › memory management
memory allocation |
0.0 | 1 | 2003 | A type theory for memory allocation and data layout · POPL 2003 |
Runtime systems and virtual machines › garbage collection
copying garbage collection |
0.0 | 1 | 2003 | A type theory for memory allocation and data layout · POPL 2003 |
Runtime systems and virtual machines
garbage collection |
0.0 | 1 | 2003 | A type theory for memory allocation and data layout · POPL 2003 |
Methods — techniques the papers use, named apart from their topics
experimental evaluation · 0.1ordered logic · 0.1modal types · 0.1type system · 0.1SSA · 0.1
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2013 | The Intel labs Haskell research compilerabstractThe Glasgow Haskell Compiler (GHC) is a well supported optimizing compiler for the Haskell programming language, along with its own extensions to the language and libraries. Haskell's lazy semantics imposes a runtime model which is in general difficult to implement efficiently. GHC achieves good performance across a wide variety of programs via aggressive optimization taking advantage of the lack of side effects, and by targeting a carefully tuned virtual machine. The Intel Labs Haskell Research Compiler uses GHC as a frontend, but provides a new whole-program optimizing backend by compiling the GHC intermediate representation to a relatively generic functional language compilation platform. We found that GHC's external Core language was relatively easy to use, but reusing GHC's libraries and achieving full compatibility were harder. For certain classes of programs, our platform provides substantial performance benefits over GHC alone, performing 2x faster than GHC with the LLVM backend on selected modern performance-oriented benchmarks; for other classes of programs, the benefits of GHC's tuned virtual machine continue to outweigh the benefits of more aggressive whole program optimization. Overall we achieve parity with GHC with the LLVM backend. In this paper, we describe our Haskell compiler stack, its implementation and optimization approach, and present benchmark results comparing it to GHC. Hai Liu 0012, Neal Glew, Leaf Petersen, Todd A. Anderson 0001 |
Haskell | 3 |
| 2013 | Automatic SIMD vectorization for HaskellabstractExpressing algorithms using immutable arrays greatly simplifies the challenges of automatic SIMD vectorization, since several important classes of dependency violations cannot occur. The Haskell programming language provides libraries for programming with immutable arrays, and compiler support for optimizing them to eliminate the overhead of intermediate temporary arrays. We describe an implementation of automatic SIMD vectorization in a Haskell compiler which gives substantial vector speedups for a range of programs written in a natural programming style. We compare performance with that of programs compiled by the Glasgow Haskell Compiler. Leaf Petersen, Dominic A. Orchard, Neal Glew |
ICFP | 1 |
| 2012 | GC-Safe Interprocedural Unboxing
Leaf Petersen, Neal Glew |
CC | 1 |
| 2007 | Enabling scalability and performance in a large scale CMP environmentabstractHardware trends suggest that large-scale CMP architectures, with tens to hundreds of processing cores on a single piece of silicon, are iminent within the next decade. While existing CMP machines have traditionally been handled in the same way as SMPs, this magnitude of parallelism introduces several fundamental challenges at the architectural level and this, in turn, translates to novel challenges in the design of the software stack for these platforms. This paper presents the "Many Core Run Time" (McRT), a software prototype of an integrated language runtime that was designed to explore configurations of the software stack for enabling performance and scalability on large scale CMP platforms. This paper presents the architecture of McRT and discusses our experiences with the system, including experimental evaluation that lead to several interesting, non-intuitive findings, providing key insights about the structure of the system stack at this scale. A key contribution of this paper is to demonstrate how McRT enables near linear improvements in performance and scalability for desktop workloads such as the popular XviD encoder and a set of RMS (recognition, mining, and synthesis) applications. Another key contribution of this work is its use of McRT to explore non-traditional system configurations such as a light-weight executive in which McRT runs on "bare metal" and replaces the traditional OS. Such configurations are becoming an increasingly attractive alternative to leverage heterogeneous computing uints as seen in today's CPU-GPU configurations. Bratin Saha, Ali-Reza Adl-Tabatabai, Anwar M. Ghuloum, Mohan Rajagopalan, Richard L. Hudson, Leaf Petersen, Vijay Menon 0002, Brian R. Murphy, Tatiana Shpeisman, Eric Sprangle, Anwar Rohillah, Doug Carmean, Jesse Fang |
EuroSys | 6 |
| 2006 | A verifiable SSA program representation for aggressive compiler optimizationabstractWe present a verifiable low-level program representation to embed, propagate, and preserve safety information in high perfor-mance compilers for safe languages such as Java and C#. Our representation precisely encodes safety information via static single-assignment (SSA) [11, 3] proof variables that are first-class constructs in the program.We argue that our representation allows a compiler to both (1) express aggressively optimized machine-independent code and (2) leverage existing compiler infrastructure to preserve safety information during optimization. We demonstrate that this approach supports standard compiler optimizations, requires minimal changes to the implementation of those optimizations, and does not artificially impede those optimizations to preserve safety. We also describe a simple type system that formalizes type safety in an SSA-style control-flow graph program representation. Through the types of proof variables, our system enables compositional verification of memory safety in optimized code. Finally, we discuss experiences integrating this representation into the machine-independent global optimizer of STARJIT, a high-performance just-in-time compiler that performs aggressive control-flow, data-flow, and algebraic optimizations and is competitive with top production systems. Vijay Menon 0002, Neal Glew, Brian R. Murphy, Andrew McCreight, Tatiana Shpeisman, Ali-Reza Adl-Tabatabai, Leaf Petersen |
POPL | 7 |
| 2003 | A type theory for memory allocation and data layoutabstractOrdered type theory is an extension of linear type theory in which variables in the context may be neither dropped nor re-ordered. This restriction gives rise to a natural notion of adjacency. We show that a language based on ordered types can use this property to give an exact account of the layout of data in memory. The fuse constructor from ordered logic describes adjacency of values in memory, and the mobility modal describes pointers into the heap. We choose a particular allocation model based on a common implementation scheme for copying garbage collection and show how this permits us to separate out the allocation and initialization of memory locations in such a way as to account for optimizations such as the coalescing of multiple calls to the allocator. Leaf Petersen, Robert Harper 0001, Karl Crary, Frank Pfenning |
POPL | 1 |
| 1997 | Subtyping Is Not a Good "Match" for Object-Oriented Languages
Kim B. Bruce, Leaf Petersen, Adrian Fiech |
ECOOP | 2 |