archives

Open Effects: Optimistic Effects for Dynamic Dispatch


Home 

About 

Browse 

Search 

Register 

Subscriptions 

Deposit Papers 

Help
    

Long, Yuheng (2012) Open Effects: Optimistic Effects for Dynamic Dispatch. Technical Report 12-02, Computer Science, Iowa State University.

Full text available as:Adobe PDF

This is the latest version of this eprint.

Abstract

Open world assumption is an important design decision for modern object-oriented languages --- it allows extensibility in program design. Type-and-effect systems are also valuable for these languages, e.g. they can help reason about concurrent OO programs. Open world assumption, however, makes the design of a type-and-effect system challenging for an OO language. Main problem is with the computation of the effects of a dynamically dispatched method call, because all possible dynamic types are not known in advance. Previous research has proposed asking programmers for effect annotations that give an upper bound on the effects of a dynamically dispatched method call. This work describes an easier approach for programmers, albeit with some runtime overhead compared to previous work, which is based on the novel notion of open effects, effects that are optimistically assumed to satisfy the effect-based property of interest. We describe a sound type-and-effect system with open effects which has two parts: a static part that takes effects of dynamically dispatched calls with certain special references as an open effect; and a dynamic part that manages dynamic effects as these special references change and verifies that the optimistic assumptions about open effects hold. This system is implemented in the OpenJDK compiler and its utility is tested by applying it to verify non(interference) of concurrent tasks.

Commentary on:Trust, but verify: Optimistic Effect Analysis for Reusable Code
Keywords:type-and-effect, open effects, optimistic concurrency
Subjects:Software: PROGRAMMING TECHNIQUES (E): Concurrent Programming
Software: PROGRAMMING TECHNIQUES (E): Object-oriented Programming
ID code:00000688
Deposited by:Yuheng Long on 16 October 2012
Alternative Locations:

Available Versions of This Paper



Contact site administrator at: ssg@cs.iastate.edu