The Java language lacks the important notions of ownership (an object owns its representation to prevent unwanted aliasing) and immutability (the division into mutable, immutable,...
Yoav Zibin, Alex Potanin, Paley Li, Mahmood Ali, M...
This paper describes a type system that is capable of expressing and enforcing immutability constraints. The specific constraint exis that the abstract state of the object to whi...
This paper describes a type system that is capable of expressing and enforcing immutability constraints. The speonstraint expressed is that the abstract state of the object to whi...
Programming in an object-oriented language demands a fine balance between high degrees of expressiveness and control. At one level, we need to permit objects to interact freely t...
Existing contract checkers for data structures force programmers to choose between poor alternatives. Contracts are either built into the functions that construct the data structur...