Typestate oriented programming integrates notions of typestate directly into the semantics of an object-oriented programming language. This document presents the formalization of Feather-weight Typestate, a typestate oriented language modeled after Featherweight Java. This language supports a classes-as-states model of typestates, and utilizes a flow-sensitive type system for check-ing access permissions and state guarantees, thereby enabling safe and modular typestate check-ing. The syntax and both static and dynamic semantics of Featherweight Typestate are presented, as well as a proof of type safety.
This paper describes a flexible type and effect inference system for Featherweight Java (FJ). The ef...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
Typestate analyses determine whether a program's use of a given API obeys this API's usage constrain...
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 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...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
International audienceDetecting programming errors in software is increasingly important, and buildi...
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages...
Typestate systems allow the type of an object to change during its lifetime in the computation. Unli...
We present the type theory LTT, intended to form a basis for typed target languages, providing an in...
Starting with a pragmatical (but formal) definition of type in object-oriented languages, this paper...
We present the type theory LTT, intended to form a basis for typed target languages, providing an in...
In the context of statically-typed, class-based languages, we investigate classes that can be extend...
This paper describes a flexible type and effect inference system for Featherweight Java (FJ). The ef...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
Typestate analyses determine whether a program's use of a given API obeys this API's usage constrain...
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 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...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
International audienceDetecting programming errors in software is increasingly important, and buildi...
Previous work has proven typestates to be useful for modeling protocols in object-oriented languages...
Typestate systems allow the type of an object to change during its lifetime in the computation. Unli...
We present the type theory LTT, intended to form a basis for typed target languages, providing an in...
Starting with a pragmatical (but formal) definition of type in object-oriented languages, this paper...
We present the type theory LTT, intended to form a basis for typed target languages, providing an in...
In the context of statically-typed, class-based languages, we investigate classes that can be extend...
This paper describes a flexible type and effect inference system for Featherweight Java (FJ). The ef...
A number of type systems have used typestates to specify and statically verify protocol compliance. ...
Typestate analyses determine whether a program's use of a given API obeys this API's usage constrain...