EDBT 2026 Demo / reviewers in the wild / expert
Ole Agesen
dblp:73/6727
· DBLP profile ↗
15ranked-venue papers
13as first author
0since 2021 · last 2012
—ORCID · none
Domains — the database's venue-derived domains; a paper can count in several
Software engineering, systems software and programming languages · 12 · 10 first-authorSystems, architecture and hardware · 3 · 2 first-authorTheory of computation · 1 · 1 first-author
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
7 papers |
Operating systems · 40% Runtime systems and virtual machines · 22% Programming languages and type systems · 14% | |
| Computer architecture, parallel and distributed computing, and storage systems
2 papers |
Cloud and datacenter computing · 74% Processor architecture and microarchitecture · 26% |
Topics — the 17 heaviest of 19, each with the papers that count most for it
| Topic | Weight | Papers | Last | Evidence papers |
|---|---|---|---|---|
Operating systems
virtualization |
0.1 | 1 | 2012 | Software Techniques for Avoiding Hardware Virtualization Exits · USENIX ATC 2012 |
Cloud and datacenter computing › virtualization
hardware-assisted virtualization |
0.1 | 1 | 2006 | A comparison of software and hardware techniques for x86 virtualization · ASPLOS 2006 |
Cloud and datacenter computing
virtualization |
0.1 | 1 | 2006 | A comparison of software and hardware techniques for x86 virtualization · ASPLOS 2006 |
Processor architecture and microarchitecture › instruction set architecture
virtualization support |
0.0 | 1 | 2012 | Software Techniques for Avoiding Hardware Virtualization Exits · USENIX ATC 2012 |
Concurrent programming › synchronization
locking |
0.0 | 1 | 1999 | An Efficient Meta-Lock for Implementing Ubiquitous Synchronization · OOPSLA 1999 |
Concurrent programming
synchronization |
0.0 | 1 | 1999 | An Efficient Meta-Lock for Implementing Ubiquitous Synchronization · OOPSLA 1999 |
Runtime systems and virtual machines
garbage collection |
0.0 | 1 | 1998 | Garbage Collection and Local Variable Type-Precision and Liveness in Java Virtual Machines · PLDI 1998 |
Runtime systems and virtual machines
binary translation |
0.0 | 1 | 2006 | A comparison of software and hardware techniques for x86 virtualization · ASPLOS 2006 |
Programming languages and type systems › type systems › polymorphism
generics |
0.0 | 1 | 1997 | Adding Type Parameterization to the Java Language · OOPSLA 1997 |
Programming languages and type systems
type systems |
0.0 | 1 | 1997 | Adding Type Parameterization to the Java Language · OOPSLA 1997 |
Compilers and program optimization › interprocedural optimization
inlining |
0.0 | 1 | 1995 | Type Feedback vs. Concrete Type Inference: A Comparison of Optimization Techniques for Object-Oriented Languages · OOPSLA 1995 |
Runtime systems and virtual machines › virtual machine implementation
java virtual machine |
0.0 | 2 | 1999 | An Efficient Meta-Lock for Implementing Ubiquitous Synchronization · OOPSLA 1999 Garbage Collection and Local Variable Type-Precision and Liveness in Java Virtual Machines · PLDI 1998 |
Software maintenance and evolution › software reengineering
application extraction |
0.0 | 1 | 1994 | Sifting Out the Gold · OOPSLA 1994 |
Programming languages and type systems
type inference |
0.0 | 1 | 1994 | Sifting Out the Gold · OOPSLA 1994 |
Program analysis
type analysis |
0.0 | 1 | 1998 | Garbage Collection and Local Variable Type-Precision and Liveness in Java Virtual Machines · PLDI 1998 |
Compilers and program optimization › intermediate representation
bytecode |
0.0 | 1 | 1997 | Adding Type Parameterization to the Java Language · OOPSLA 1997 |
Programming languages and type systems › object-oriented programming
object-oriented languages |
0.0 | 1 | 1995 | Type Feedback vs. Concrete Type Inference: A Comparison of Optimization Techniques for Object-Oriented Languages · OOPSLA 1995 |
Methods — techniques the papers use, named apart from their topics
trap-and-emulate · 0.1binary translation · 0.1thread-safe class libraries · 0.0monitors · 0.0type analysis · 0.0live variable analysis · 0.0class load-time expansion · 0.0static analysis · 0.0profile-based receiver class prediction · 0.0type inference · 0.0
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2012 | Software Techniques for Avoiding Hardware Virtualization Exits
Ole Agesen, Jim Mattson, Radu Rugina, Jeffrey Sheldon |
USENIX ATC | 1 |
| 2006 | A comparison of software and hardware techniques for x86 virtualizationabstractUntil recently, the x86 architecture has not permitted classical trap-and-emulate virtualization. Virtual Machine Monitors for x86, such as VMware ® Workstation and Virtual PC, have instead used binary translation of the guest kernel code. However, both Intel and AMD have now introduced architectural extensions to support classical virtualization.We compare an existing software VMM with a new VMM designed for the emerging hardware support. Surprisingly, the hardware VMM often suffers lower performance than the pure software VMM. To determine why, we study architecture-level events such as page table updates, context switches and I/O, and find their costs vastly different among native, software VMM and hardware VMM execution.We find that the hardware support fails to provide an unambiguous performance advantage for two primary reasons: first, it offers no support for MMU virtualization; second, it fails to co-exist with existing software techniques for MMU virtualization. We look ahead to emerging techniques for addressing this MMU virtualization problem in the context of hardware-assisted virtualization. Keith Adams, Ole Agesen |
ASPLOS | 2 |
| 2002 | DCAS-Based Concurrent Deques
Ole Agesen, David Detlefs, Christine H. Flood, Alex Garthwaite, Paul Alan Martin, Mark Moir, Nir Shavit, Guy L. Steele Jr. |
Theory Comput. Syst. | 1 |
| 2000 | Efficient Object Sampling via Weak ReferencesabstractThe performance of automatic memory management may be improved if the policies used in allocating and collecting objects had knowledge of the lifetimes of objects. To date, approaches to the pretenuring of objects in older generations have relied on profile-driven feedback gathered from trace runs. This feedback has been used to specialize allocation sites in a program. These approaches suffer from a number of limitations. We propose an alternative that through efficient sampling of objects allows for on-line adaption of allocation sites to improve the efficiency of the memory system. In doing so, we make use of a facility already present in many collectors such as those found in Java™ virtual machines: weak references. By judiciously tracking a subset of allocated objects with weak references, we are able to gather the necessary statistics to make better object-placement decisions. Ole Agesen, Alex Garthwaite |
ISMM | 1 |
| 2000 | DCAS-based concurrent dequesabstractThe computer industry is currently examining the use of strong synchronization operations such as double compare-and-swap (DCAS) as a means of supporting non-blocking synchronization on tomorrow's multiprocessor machines. However, before such a strong primitive will be incorporated into hardware design, its utility needs to be proven by developing a body of effective non-blocking data structures using DCAS. As part of this effort, we present two new linearizable non-blocking implementations of concurrent deques using the DCAS operation. The first uses an array representation, and improves on former algorithms by allowing uninterrupted concurrent access to both ends of the deque while correctly handling the difficult boundary cases when the deque is empty or full. The second uses a linked-list representation, and is the first non-blocking unbounded-memory deque implementation. It too allows uninterrupted concurrent access to both ends of the deque. Ole Agesen, David Detlefs, Christine H. Flood, Alex Garthwaite, Paul Alan Martin, Nir Shavit, Guy L. Steele Jr. |
SPAA | 1 |
| 1999 | Inlining of Virtual Methods
David Detlefs, Ole Agesen |
ECOOP | 2 |
| 1999 | An Efficient Meta-Lock for Implementing Ubiquitous SynchronizationabstractPrograms written in concurrent object-oriented languages, especially ones that employ thread-safe reusable class libraries, can execute synchronization operations (lock, notify, etc.) at an amazing rate. Unless implemented with utmost care, synchronization can become a performance bottleneck. Furthermore, in languages where every object may have its own monitor, per-object space overhead must be minimized. To address these concerns, we have developed a meta-lock to mediate access to synchronization data. The meta-lock is fast (lock + unlock executes in 11 SPARC™ architecture instructions), compact (uses only two bits of space), robust under contention (no busy-waiting), and flexible (supports a variety of higher-level synchronization operations). We have validated the meta-lock with an implementation of the synchronization operations in a high-performance product-quality Java™ virtual machine and report performance data for several large programs. Ole Agesen, David Detlefs, Alex Garthwaite, Ross C. Knippel, Y. S. Ramakrishna, Derek White |
OOPSLA | 1 |
| 1998 | Garbage Collection and Local Variable Type-Precision and Liveness in Java Virtual MachinesabstractFull precision in garbage collection implies retaining only those heap allocated objects that will actually be used in the future. Since full precision is not computable in general, garbage collectors use safe (i.e., conservative) approximations such as reachability from a set of root references. Ambiguous roots collectors (commonly called "conservative") can be overly conservative because they overestimate the root set, and thereby retain unexpectedly large amounts of garbage. We consider two more precise collection schemes for Java virtual machines (JVMs). One uses a type analysis to obtain a type-precise root set (only those variables that contain references); the other adds a live variable analysis to reduce the root set to only the live reference variables. Even with the Java programming language's strong typing, it turns out that the JVM specification has a feature that makes type-precise root sets difficult to compute. We explain the problem and ways in which it can be solved.Our experimental results include measurements of the costs of the type and liveness analyses at load time, of the incremental benefits at run time of the liveness analysis over the type analysis alone, and of various map sizes and counts. We find that the liveness analysis often produces little or no improvement in heap size, sometimes modest improvements, and occasionally the improvement is dramatic. While further study is in order, we conclude that the main benefit of the liveness analysis is preventing bad surprises. Ole Agesen, David Detlefs, J. Eliot B. Moss |
PLDI | 1 |
| 1997 | Adding Type Parameterization to the Java LanguageabstractAlthough the Java programming language has achieved widespread acceptance, one feature that seems sorely missed is the ability to use type parameters (as in Ada generics, C++ templates, and ML polymorphic functions or data types) to allow a general concept to be instantiated to one or more specific types. In this paper, we propose parameterized classes and interfaces in which the type parameter may be constrained to either implement a given interface or extend a given class. This design allows the body of a parameterized class to refer to methods on objects of the parameter type, without introducing any new type relations into the language. We show that these Java extensions may be implemented by expanding parameterized classes at class load time, without any extension or modification to existing Java bytecode, verifier or bytecode interpreter. Ole Agesen, Stephen N. Freund, John C. Mitchell |
OOPSLA | 1 |
| 1995 | The Cartesian Product Algorithm: Simple and Precise Type Inference Of Parametric Polymorphism
Ole Agesen |
ECOOP | 1 |
| 1995 | Type Feedback vs. Concrete Type Inference: A Comparison of Optimization Techniques for Object-Oriented LanguagesabstractTwo promising optimization techniques for object-oriented languages are type feedback (profile-based receiver class prediction) and concrete type inference (static analysis). We directly compare the two techniques, evaluating their effectiveness on a suite of 23 SELF programs while keeping other factors constant.Our results show that both systems inline over 95% of all sends and deliver similar overall performance with one exception: SELF's automatic coercion of machine integers to arbitrary-precision integers upon overflow confounds type inference and slows down arithmetic-intensive benchmarks.We discuss several other issues which, given the comparable run-time performance, may influence the choice between type feedback and type inference. Ole Agesen, Urs Hölzle |
OOPSLA | 1 |
| 1995 | Type Inference of SELF: Analysis of Objects with Dynamic and Multiple InheritanceabstractAbstract We have designed and implemented a type inference algorithm for the SELF language. The algorithm can guarantee the safety and disambiguity of message sends, and provide useful information for browsers and optimizing compilers. SELF features objects with dynamic inheritance. This construct has until now been considered incompatible with type inference because it allows the inheritance graph to change dynamically. Our algorithm handles this by deriving and solving type constraints that simultaneously define supersets of both the possible values of expressions and of the possible inheritance graphs. The apparent circularity is resolved by computing a global fixed‐point, in polynomial time. The algorithm has been implemented and can successfully handle the SELF benchmark programs, which exist in the ‘standard SELF world’ of more than 40,000 lines of code. Ole Agesen, Jens Palsberg, Michael I. Schwartzbach |
Softw. Pract. Exp. | 1 |
| 1994 | Sifting Out the GoldabstractIntegrated, dynamically-typed object-oriented programming environments offer many advantages, but have trouble producing small, self-contained applications. Recent advances in type inference have made it possible to build an application extractor for Self. The extractor was able to extract a medium-sized application in a few minutes. The extracted application runs in a tenth the space of the original environment. Except for extracting reflection and sends with computed selectors, the extractor runs without human intervention and fully preserves the behavior of the application. Ole Agesen, David M. Ungar |
OOPSLA | 1 |
| 1994 | Constraint-Based Type Inference and Parametric Polymorphism
Ole Agesen |
SAS | 1 |
| 1993 | Type Inference of SELF
Ole Agesen, Jens Palsberg, Michael I. Schwartzbach |
ECOOP | 1 |