Typestate systems allow the type of an object to change during its lifetime in the computation. Unlike standard type systems, they can enforce safety properties that depend on changing object states. We present a new, generalized formulation of typestate that models the typestate of an object through membership in abstract sets. This abstract set formulation enables developers to reason about cardinalities of sets, and in particular to state and verify the condition that certain sets are empty. We support hierarchical typestate classifications by specifying subset and disjointness properties over the typestate sets.We present our formulation of typestate in the context of the Hob program specification and verification framework. The Hob fra...
International audienceDetecting programming errors in software is increasingly important, and buildi...
Typestates are state machines used in object-oriented programming to specify and verify correct orde...
We show how type inference for object oriented programming languages with state can be performed wit...
We present a generalization of standard typestate systems in which the typestate of each object is d...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
Typestate oriented programming integrates notions of typestate directly into the semantics of an obj...
Typestate oriented programming integrates notions of typestate directly into the semantics of an obj...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
The paper defines the class of heap monotonic typestates. The monotonicity of such typestates enable...
Typestate oriented programming integrates notions of typestate directly into the semantics of an obj...
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages...
AbstractCurrent data abstraction mechanisms are not adequate to control sharing of state in the gene...
We describe an approach for combining theorem proving techniques with static analysis to analyze dat...
We present the type theory LTT, intended to form a basis for typed target languages, providing an in...
We present the type theory LTT, intended to form a basis for typed target languages, providing an in...
International audienceDetecting programming errors in software is increasingly important, and buildi...
Typestates are state machines used in object-oriented programming to specify and verify correct orde...
We show how type inference for object oriented programming languages with state can be performed wit...
We present a generalization of standard typestate systems in which the typestate of each object is d...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
Typestate oriented programming integrates notions of typestate directly into the semantics of an obj...
Typestate oriented programming integrates notions of typestate directly into the semantics of an obj...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
The paper defines the class of heap monotonic typestates. The monotonicity of such typestates enable...
Typestate oriented programming integrates notions of typestate directly into the semantics of an obj...
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages...
AbstractCurrent data abstraction mechanisms are not adequate to control sharing of state in the gene...
We describe an approach for combining theorem proving techniques with static analysis to analyze dat...
We present the type theory LTT, intended to form a basis for typed target languages, providing an in...
We present the type theory LTT, intended to form a basis for typed target languages, providing an in...
International audienceDetecting programming errors in software is increasingly important, and buildi...
Typestates are state machines used in object-oriented programming to specify and verify correct orde...
We show how type inference for object oriented programming languages with state can be performed wit...