Enhancing modular OO verification with separation logic
Conventional specifications for object-oriented (OO) programs must adhere to behavioral
subtyping in support of class inheritance and method overriding. However, this requirement …
subtyping in support of class inheritance and method overriding. However, this requirement …
A unified framework for verification techniques for object invariants
Object invariants define the consistency of objects. They have subtle semantics because of
call-backs, multi-object invariants and subclassing. Several visible-state verification …
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 …
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 …
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 …
technique based on object invariants. This technique supports succinct specifications of …
[PDF][PDF] The need for flexible object invariants
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 …
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 …
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 …
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 …
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 …
verifying such programs requires a systematic method for coping with object invariants that …