Substructural Typestates (technical Appendix)
نویسندگان
چکیده
B Proofs 3 B.1 Well-Formed Types and Environments . . . . . . . 3 B.2 Subtyping Inversion Lemma . . . . . . . . . . . . 3 B.3 Store Typing . . . . . . . . . . . . . . . . . . . . . 4 B.4 Values Inversion Lemma . . . . . . . . . . . . . . 6 B.5 Substitution . . . . . . . . . . . . . . . . . . . . . 9 B.6 Free Variables Lemma . . . . . . . . . . . . . . . 12 B.7 Well-Form Lemmas . . . . . . . . . . . . . . . . . 15 B.8 Substitution Lemma . . . . . . . . . . . . . . . . . 15 B.9 Values Lemma . . . . . . . . . . . . . . . . . . . 23 B.10 Preservation . . . . . . . . . . . . . . . . . . . . . 25 B.11 Progress . . . . . . . . . . . . . . . . . . . . . . . 29 A. Abbreviations
منابع مشابه
Typestates for Objects
Today’s mainstream object-oriented compilers and tools do not support declaring and statically checking simple preand postconditions on methods and invariants on object representations. The main technical problem preventing static verification is reasoning about the sharing relationships among objects as well as where object invariants should hold. We have developed a programming model of types...
متن کاملSuperficially Substructural Types ( Technical Appendix )
1 The Language 2 1.1 Syntax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2 1.2 Typing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3 1.3 Sharing Construct . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.4 Operational Sema...
متن کاملSynthesis of Interface Specifications for Android Classes
Event-driven programming frameworks interact with client code using callins (framework methods that the client invokes) and callbacks (client methods that the framework invokes). The protocols for interacting with such frameworks can often be described by finite-state machines we dub asynchronous typestates. Asynchronous typestates are akin to classical typestates, with the key difference that ...
متن کاملPresburger-Definable Parameterized Typestates
Typestates are good at capturing dynamic states of a program as compared to normal types that can capture static structural properties of data and program. Although useful, typestates are suitable only for specifying and verifying program properties defined using finite-state abstractions. Many useful dynamic properties of programs are not finite-state definable. To address these issues, we int...
متن کاملHeap Monotonic Typestates ( Extended Abstract )
The paper defines the class of heap monotonic typestates. The monotonicity of such typestates enables sound checking algorithms without the need for nonaliasing regimes of pointers. The basic idea is that data structures evolve over time in a manner that only makes their representation invariants grow stronger, never weaker. This assumption guarantees that existing object references with partic...
متن کامل