Aliasing in Object-Oriented Programming: Types, Analysis, by Dave Clarke, James Noble, Tobias Wrigstad

By Dave Clarke, James Noble, Tobias Wrigstad

This booklet offers a survey of the state of the art on suggestions for facing aliasing in object-oriented programming. It marks the twentieth anniversary of the paper The Geneva conference at the remedy of item Aliasing by way of John Hogg, Doug Lea, Alan Wills, Dennis de Champeaux and Richard Holt. The 22 revised papers have been conscientiously reviewed to make sure the top quality.The contributions are geared up in topical sections at the Geneva conference, possession, concurrency, alias research, controlling results, verification, programming languages, and visions.

Show description

Read or Download Aliasing in Object-Oriented Programming: Types, Analysis, and Verification PDF

Similar programming books

Functional Programming Patterns in Scala and Clojure: Write Lean Programs for the JVM

Clear up real-life programming issues of a fragment of the code that natural object-oriented programming calls for. Use Scala and Clojure to resolve in-depth issues of units of styles: object-oriented styles that turn into extra concise with practical programming, and natively useful styles.

Programming Smalltalk – Object-Orientation from the Beginning: An introduction to the principles of programming

A simple, step by step advent to transparent and stylish object-oriented programming. utilizing a language that's ideal for this type of programming, the e-book has been validated in several classes and workshops over ten years.

Programming Smalltalk is especially suited to readers with out previous programming wisdom. ranging from the 1st ideas of programming, it teaches you the way to take advantage of and create algorithms (reusable principles for problem-solving) and the elemental construction blocks of software program. It is going directly to clarify the best way to improve whole functions and has a complete bankruptcy on net functions in addition to case studies.

Now translated into English, this variation used to be thoroughly revised to be in line with the newest model of Cincom® VisualWorks®, a qualified Smalltalk surroundings. All examples have been created utilizing VisualWorks, that's on hand at no cost for tutorial reasons, and will be downloaded and put in on any updated computing device.

VHDL Made Easy Pallerin, Douglas Taylor

Offers the ideas of VHDL for synthesis and simulation in an easy-to-understand means, utilizing examples, tutorials, and particular descriptions of vital VHDL language beneficial properties. CD ROM incorporated. DLC: VHDL

Additional resources for Aliasing in Object-Oriented Programming: Types, Analysis, and Verification

Sample text

A confined type must not be public. C3. Methods invoked on an expression of confined type must either be defined in a confined class or be anonymous methods. C4. Subtypes of a confined type must be confined. C5. Confined types can be widened only to other confined types. C6. Overriding must preserve anonymity of methods. A1. The this reference is used only to select fields and as the receiver in the invocation of other anonymous methods. The first six rules ensure that instances of some confined type do not escape the scope by ensuring that it does not appear in the interface of a public class (C1), that the class itself is not public (C2), that confined value do not leak via untrusted methods (C3) or by forgetting that the type is confined (C5).

The type system specifies not only who owns an object but also who can reference it. 28 D. Clarke et al. Their system is similar in spirit to ownership domains, but the underlying mechanism is more lightweight in Lu and Potter’s system. This is also one of the few type systems that permit owner variance, using lightweight, programmer-specified variance annotations, which increases the expressiveness of the language. 6 Multiple Ownership and Owners-as-Ombudsmen Several researchers have identified problems with the strong topological requirement imposed by ownership types, namely that having single owners for objects requires that the ownership relation embedded in the heap is organised into a tree-shape.

The owners-as-ombudsmen topological invariant can be understood as a simplification of Mojojojo, without requiring the effects system. Using owners-as-ombudsmen, iterators can be expressed in a way that makes the List’s Links part of an aggregate defined by the List and its Iterator objects. iterator(); // note bridge -> owner The type Iterator[bridge,owner] captures the fact that the i variable points to another bridge object of the shared aggregate. When an external object calls the iterator method, it will see a type that has the same owner as the list itself, since bridge, like this, is an owner which is not visible externally.

Download PDF sample

Rated 4.07 of 5 – based on 41 votes