Enhancing modular OO verification with separation logic

WN Chin, C David, HH Nguyen, S Qin - ACM SIGPLAN Notices, 2008 - dl.acm.org
Conventional specifications for object-oriented (OO) programs must adhere to behavioral
subtyping in support of class inheritance and method overriding. However, this requirement …

A unified framework for verification techniques for object invariants

S Drossopoulou, A Francalanza, P Müller… - ECOOP 2008–Object …, 2008 - Springer
Object invariants define the consistency of objects. They have subtle semantics because of
call-backs, multi-object invariants and subclassing. Several visible-state verification …

Flexible invariants through semantic collaboration

N Polikarpova, J Tschannen, CA Furia… - FM 2014: Formal Methods …, 2014 - Springer
Modular reasoning about class invariants is challenging in the presence of collaborating
objects that need to maintain global consistency. This paper presents semantic …

Using history invariants to verify observers

KRM Leino, W Schulte - European Symposium on Programming, 2007 - Springer
This paper contributes a technique that expands the set of object invariants that one can
reason about in modular verification. The technique uses history invariants, two-state …

Considerate reasoning and the composite design pattern

AJ Summers, S Drossopoulou - … , VMCAI 2010, Madrid, Spain, January 17 …, 2010 - Springer
Abstract We propose Considerate Reasoning, a novel specification and verification
technique based on object invariants. This technique supports succinct specifications of …

[PDF][PDF] The need for flexible object invariants

AJ Summers, S Drossopoulou, P Müller - IWACO, 2009 - pm.inf.ethz.ch
Specification and verification of object oriented programs usually features in some capacity
the concept of an object invariant, used to describe the consistent states of an object …

Verifying multi-object invariants with relationships

S Balzer, TR Gross - European Conference on Object-Oriented …, 2011 - Springer
Relationships capture the interplay between classes in object-oriented programs, and
various extensions of object-oriented programming languages allow the programmer to …

A verifying compiler for a multi-threaded object-oriented

KRM Leino, W Schulte - Softw. Syst. Rel. Security, 2007 - books.google.com
A verifying compiler automatically verifies the correctness of a source program before
compiling it. Founded on the definition of the source language and a set of rules (a …

Class invariants: concepts, problems, solutions

B Meyer - arXiv preprint arXiv:1608.07637, 2016 - arxiv.org
Class invariants are both a core concept of object-oriented programming and the source of
the two key open OO verification problems: furtive access (from callbacks) and reference …

Class-local object invariants

KRM Leino, A Wallenburg - Proceedings of the 1st India software …, 2008 - dl.acm.org
The correctness of object-oriented programs relies on object invariants. A system for
verifying such programs requires a systematic method for coping with object invariants that …