Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Ole Agesen is active.

Publication


Featured researches published by Ole Agesen.


european conference on object-oriented programming | 1995

The Cartesian Product Algorithm

Ole Agesen

Concrete types and abstract types are different and serve different purposes. Concrete types, the focus of this paper, are essential to support compilation, application delivery, and debugging in object-oriented environments. Concrete types should not be obtained from explicit type declarations because their presence limits polymorphism unacceptably. This leaves us with type inference. Unfortunately, while polymorphism demands the use of type inference, it has also been the hardest challenge for type inference.We review previous type inference algorithms that analyze code with parametric polymorphism and then present a new one: the cartesian product algorithm. It improves precision and efficiency over previous algorithms and deals directly with inheritance, rather than relying on a preprocessor to expand it away. Last, but not least, it is conceptually simple.The cartesian product algorithm has been used in the Self system since late 1993. We present measurements to document its performance and compare it against several previous algorithms.


conference on object oriented programming systems languages and applications | 1995

Type feedback vs. concrete type inference: a comparison of optimization techniques for object-oriented languages

Ole Agesen; Urs Hölzle

Two 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: SELFs 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.


static analysis symposium | 1994

Constraint-based type inference and parametric polymorphism

Ole Agesen

Constraint-based analysis is a technique for inferring implementation types. Traditionally it has been described using mathematical formalisms. We explain it in a different and more intuitive way as a flow problem. The intuition is facilitated by a direct correspondence between run-time and analysis-time concepts.


european conference on object oriented programming | 1993

Type Inference of SELF

Ole Agesen; Jens Palsberg; Michael I. Schwartzbach

We have designed and implemented a type inference algorithm for the full 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.


conference on object oriented programming systems languages and applications | 1994

Sifting out the gold: delivering compact applications from an exploratory object-oriented programming environment

Ole Agesen; David M. Ungar

Integrated, 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.


Software - Practice and Experience | 1995

Type inference of SELF: analysis of objects with dynamic and multiple inheritance

Ole Agesen; Jens Palsberg; Michael I. Schwartzbach

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.


european conference on object oriented programming | 1995

The Cartesian Product Algorithm: Simple and Precise Type Inference Of Parametric Polymorphism

Ole Agesen


Archive | 1996

Concrete type inference: delivering object-oriented applications

Ole Agesen


DAIMI Report Series | 1993

Type Inference of SELF: Analysis of Objects with Dynamic and Multiple Inheritance

Ole Agesen; Jens Palsberg; Michael I. Schwartzbach


Theory and Practice of Object Systems | 1995

Dynamic versus static optimization techniques for object-oriented languages

Urs Hölzle; Ole Agesen

Collaboration


Dive into the Ole Agesen's collaboration.

Top Co-Authors

Avatar

Jens Palsberg

University of California

View shared research outputs
Top Co-Authors

Avatar
Top Co-Authors

Avatar
Top Co-Authors

Avatar

Urs Hölzle

University of California

View shared research outputs
Researchain Logo
Decentralizing Knowledge