10.1184/R1/6622238.v1 Ronald Garcia Ronald Garcia Roger Wolff Roger Wolff Eric Tanter Eric Tanter Jonathan Aldrich Jonathan Aldrich Featherweight Typestate (CMU-ISR-10-115) Carnegie Mellon University 2010 access permissions state guarantees 2010-07-01 00:00:00 Journal contribution https://kilthub.cmu.edu/articles/journal_contribution/Featherweight_Typestate_CMU-ISR-10-115_/6622238 <p>Typestate oriented programming integrates notions of typestate directly into the semantics of an object-oriented programming language. This document presents the formalization of Featherweight 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 checking access permissions and state guarantees, thereby enabling safe and modular typestate checking. The syntax and both static and dynamic semantics of Featherweight Typestate are presented, as well as a proof of type safety</p>