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...
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...
Contracts and specifications have long been used in object-oriented design, programming and testing to enhance reliability before software deployment. However, the use of specifica...
Abstract. Many software model checkers are based on predicate abstraction. If the verification goal depends on pointer structures, the approach does not work well, because it is di...
Abstract. Concurrent data structures with fine-grained synchronization are notoriously difficult to implement correctly. The difficulty of reasoning about these implementations do...