The modelling and enforcement of typestate constraints in object oriented languages has the potential to eliminate a variety of common and difficult to diagnose errors. While the theoretical foundations of typestate are well established in the literature, less attention has been paid to the practical aspects: is the additional complexity justifiable? Can typestate be reasoned about effectively by "real" programmers? To what extent can typestate constraints be inferred, to reduce the burden of large type annotations? This thesis aims to answer these questions and provide a holistic treatment of the subject, with original contributions to both the theorical and practical aspects of typestate
Typestate oriented programming integrates notions of typestate directly into the semantics of an obj...
Static type information facilitates program comprehension and analysis. Yet, such information is abs...
Type-checked object-oriented languages have typically been designed with extremely simple type syste...
The modelling and enforcement of typestate constraints in object oriented languages has the potentia...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
Typestates are state machines used in object-oriented programming to specify and verify correct orde...
Specification languages serve a fundamentally different purpose than general-purpose programming lan...
The behavior of languages such as C++, Java, Smalltalk and Eiffel and the modeling features such cla...
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...
This thesis is about Martin-Löf's intuitionistic theory of types (type theory). Type theory is at th...
Typestate systems allow the type of an object to change during its lifetime in the computation. Unli...
Language designers have in recent years proposed a wealth of richer type systems for programming whi...
Dependent types can make your developments (be they programs or proofs) dramatically safer by allowi...
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...
Static type information facilitates program comprehension and analysis. Yet, such information is abs...
Type-checked object-oriented languages have typically been designed with extremely simple type syste...
The modelling and enforcement of typestate constraints in object oriented languages has the potentia...
Typestate reflects how the legal operations on imperative objects can change at runtime as their int...
Typestates are state machines used in object-oriented programming to specify and verify correct orde...
Specification languages serve a fundamentally different purpose than general-purpose programming lan...
The behavior of languages such as C++, Java, Smalltalk and Eiffel and the modeling features such cla...
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...
This thesis is about Martin-Löf's intuitionistic theory of types (type theory). Type theory is at th...
Typestate systems allow the type of an object to change during its lifetime in the computation. Unli...
Language designers have in recent years proposed a wealth of richer type systems for programming whi...
Dependent types can make your developments (be they programs or proofs) dramatically safer by allowi...
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...
Static type information facilitates program comprehension and analysis. Yet, such information is abs...
Type-checked object-oriented languages have typically been designed with extremely simple type syste...