• Publications
  • Influence
Object Invariants in Dynamic Contexts
This paper describes a methodology for specifying and verifying object-oriented programs, using object invariants to specify the consistency of data and using ownership to organize objects into contexts. Expand
Universes: Lightweight Ownership for JML
It is shown that the combination of the lightweight Universe type system and JML specifications is flexible enough to handle interesting implementations while keeping the annotation and checking overhead small. Expand
A Basis for Verifying Multi-threaded Programs
The paper prescribes the generation of verification conditions in first-order logic, well-suited for scrutiny by off-the-shelf SMT solvers, based on implicit dynamic frames and uses fractional permissions to support fine-grained locking. Expand
Specification and verification
Can a programming language really help programmers write better programs?
Generic Universe Types
An ownership type system for a Java-like programming language with generic types that combines the owner-as-modifier discipline with type genericity and requires modifications of an object to be initiated by its owner. Expand
Viper: A Verification Infrastructure for Permission-Based Reasoning
A verification infrastructure whose intermediate language supports an expressive permission model natively is presented, alleviating much of the burden of building permission-based verifiers, and allowing the developers of higher-level reasoning techniques to focus their efforts at an appropriate level of abstraction. Expand
Modular invariants for layered object structures
This work generalizes classical techniques to cover layered object structures using a refined semantics for invariants based on an ownership model for alias control and extends this ownership technique to even more expressive invariants that gain their modularity by imposing certain visibility requirements. Expand
Modular Specification and Verification of Object-Oriented Programs
  • Peter Müller
  • Computer Science
  • Lecture Notes in Computer Science
  • 22 March 2002
The Mojave Type System and the Universe Type System are studied, which describes the specification and verification of type Invariants in a modular manner, and the semantics of Mojave are studied. Expand
Verification of Concurrent Programs with Chalice
These lecture notes describe a verifier for concurrent programs called Chalice, a verification methodology centers around permissions and permission transfer that guarantees the absence of data races for concurrentprograms. Expand
Freedom before commitment: a lightweight type system for object initialisation
This work presents a type system that tracks which objects are fully initialised and which are still under initialisation, and believes it to be the first such system suitable for mainstream use. Expand