Open Effects: A Hybrid Type-and-Effect System to Tackle Open World Assumption and its Application to Optimistic Concurrency

dc.contributor.author Long, Yuheng
dc.contributor.author Bagherzadeh, Mehdi
dc.contributor.author Rajan, Hridesh
dc.contributor.author Rajan, Hridesh
dc.contributor.department Computer Science
dc.date 2018-02-13T23:59:00.000
dc.date.accessioned 2020-06-30T01:56:18Z
dc.date.available 2020-06-30T01:56:18Z
dc.date.issued 2014-03-25
dc.description.abstract <p>This work tackles the challenge of applying a type-and-effect system to reason about object-oriented programs with an open world assumption. An open world assumption challenges the design of a type-and-effect system when (1) all subclasses of a class are not known, and (2) an upper bound on effects of all subclasses is not available, e.g. when an effect specification is not available for that class – a common phenomenon in modern OO programs. The main problem is in the computation of the effects of a dynamically dispatched method invocation, because all possible dynamic types of its receiver are not known statically, and no static upper bound in the form of effect specification is available. Our new concept open effects solves these problems. The basic idea is to take a programmer-guided hybrid approach. Instead of using a predefined upper bound, our type-and-effect system takes the effects of a programmer-selected dynamically dispatched method call as open effects that encapsulate statically known information about the call, e.g. static type of receiver. The static part of our type-and-effect systems treats open effects as unknown, but the dynamic part of our type-and-effect systems reifies open effects. We also apply open effects to create a sound trust-but-verify type-and-effect system, to better enable concurrent execution of dynamically dispatched method invocations. If a programmer annotates the receiver of a certain method invocation as open, then the type system trusts the programmer and assigns an open effect to the method. The open effect is, optimistically, not supposed to conflict with other effects. Such optimistic assumptions are verified statically, if possible, or at runtime otherwise. Performance evaluations of an open effects-based type system for concurrency, on various benchmarks, show that it incurs negligible annotation and runtime overheads.</p>
dc.description.comments <p>Copyright © 2013, Yuheng Long, and Mehdi Bagherzadeh and Hridesh Rajan.</p>
dc.identifier archive/lib.dr.iastate.edu/cs_techreports/271/
dc.identifier.articleid 1247
dc.identifier.contextkey 5473300
dc.identifier.s3bucket isulib-bepress-aws-west
dc.identifier.submissionpath cs_techreports/271
dc.identifier.uri https://dr.lib.iastate.edu/handle/20.500.12876/20096
dc.source.bitstream archive/lib.dr.iastate.edu/cs_techreports/271/TR.pdf|||Fri Jan 14 23:06:24 UTC 2022
dc.subject.disciplines Programming Languages and Compilers
dc.subject.keywords type-and-effect
dc.subject.keywords open effects
dc.subject.keywords optimistic concurrency
dc.title Open Effects: A Hybrid Type-and-Effect System to Tackle Open World Assumption and its Application to Optimistic Concurrency
dc.type article
dc.type.genre article
dspace.entity.type Publication
relation.isAuthorOfPublication 4e3f4631-9a99-4a4d-ab81-491621e94031
relation.isOrgUnitOfPublication f7be4eb9-d1d0-4081-859b-b15cee251456
File
Original bundle
Now showing 1 - 1 of 1
Name:
TR.pdf
Size:
518.51 KB
Format:
Adobe Portable Document Format
Description:
Collections