We present a generic framework for the automatic and modular inference of sound class invariants for class-based object-oriented languages. We define a trace-based semantics for classes which considers all possible orderings, with all possible arguments, of invocations of all the methods of a class. We prove a correspondence theorem between such a semantics and a generic, trace-based, semantics for complete object-oriented programs. We express state-based class invariants in a fixpoint form by considering an abstraction of the class semantics, and we show how class invariants can be automatically inferred exploiting a static analysis of the methods. Furthermore, we address the problem of inferring a subclass invariant without accessing to t...
Class invariants are a highly useful feature for the verification of object-oriented programs, becau...
Class invariants are a highly useful feature for the verification of object-oriented programs, becau...
Software verification is an important element of software reliability. The significance and importan...
We use abstract interpretation to abstract a compositional trace semantics for a simple imperative o...
We presented a framework for the modular analysis of object-oriented languages. We defined a liberal...
The program state for object-oriented languages, such as Java or C#, consists of both variables loca...
AbstractThe program state for object-oriented languages, such as Java or C#, consists of both variab...
Object invariants describe the consistency of object-oriented data structures and are central to rea...
Abstract. In this paper we address the problem of performing a class static analysis in a modular fa...
Introduction Since Hoare’s seminal paper on data abstraction [5], the class invariant has been the f...
Modules and objects both contain variables whose values may be constrained by invariants. For exampl...
An object invariant defines what it means for an object’s data to be in a consistent state. Object i...
We introduce an expressive yet semantically clean core Java-like language, Java JR, and provide it w...
This note briefly discusses how some of the ideas developed in the theory of coalgebras are used in ...
A proof system is presented for the verification and derivation of object oriented programs with as ...
Class invariants are a highly useful feature for the verification of object-oriented programs, becau...
Class invariants are a highly useful feature for the verification of object-oriented programs, becau...
Software verification is an important element of software reliability. The significance and importan...
We use abstract interpretation to abstract a compositional trace semantics for a simple imperative o...
We presented a framework for the modular analysis of object-oriented languages. We defined a liberal...
The program state for object-oriented languages, such as Java or C#, consists of both variables loca...
AbstractThe program state for object-oriented languages, such as Java or C#, consists of both variab...
Object invariants describe the consistency of object-oriented data structures and are central to rea...
Abstract. In this paper we address the problem of performing a class static analysis in a modular fa...
Introduction Since Hoare’s seminal paper on data abstraction [5], the class invariant has been the f...
Modules and objects both contain variables whose values may be constrained by invariants. For exampl...
An object invariant defines what it means for an object’s data to be in a consistent state. Object i...
We introduce an expressive yet semantically clean core Java-like language, Java JR, and provide it w...
This note briefly discusses how some of the ideas developed in the theory of coalgebras are used in ...
A proof system is presented for the verification and derivation of object oriented programs with as ...
Class invariants are a highly useful feature for the verification of object-oriented programs, becau...
Class invariants are a highly useful feature for the verification of object-oriented programs, becau...
Software verification is an important element of software reliability. The significance and importan...