6) ?, ? ; r; F F (4.7) ?, ? ; r {F * == v}c : void{G} (4, )()), we have: (4.9) ?, ? s ,
we get: (9.21) R ts R ts : By resource axiom (d) for R ts , we know that (R ts ) loc (p, k) = 0 for all k in FieldId ? {join}. It follows that, By Lemma, vol.27, issue.7 ,
? (C< ¯ ?>, init(C< ¯ ?>))] = h . Thus, we can apply (State) to obtain: (9.23) h , ts | o is ,
But neither of these statements hold, by definition of |=. Suppose now that hc = (fin null. f = v) An inspection of the last rules of (st : )'s derivation reveals that there must then be But this is false, by definition of |=. Suppose finally that hc = ( =null.m< ¯ ?>( ¯ v)). An inspection of the last rules of (st : )'s derivation reveals that there must then be ?, E , R, s such that ? E ; R; s |= null!= null ,
st = h, ts | o is (s in assert(F); c), and init(c) ? * ct st By init(c) : (Lemma 93) and preservation (Theorem 5), we know that st : . An inspection of the last rules of (st : )'s derivation reveals ,
Types for safe locking, ACM Transactions on Programming Languages and Systems, vol.28, issue.2, 2006. ,
DOI : 10.1145/1119479.1119480
Separation Logic for Small-Step cminor, TPHOL, 2007. ,
DOI : 10.1007/978-3-540-74591-4_3
URL : https://hal.archives-ouvertes.fr/inria-00165915
Verification of Object-Oriented Programs with Invariants., The Journal of Object Technology, vol.3, issue.6, 2004. ,
DOI : 10.5381/jot.2004.3.6.a2
Smallfoot: Modular Automatic Assertion Checking with Separation Logic, FMCO, 2005. ,
DOI : 10.1007/11804192_6
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.63.613
Modular typestate verification of aliased objects, OOPSLA, 2007. ,
Permission accounting in separation logic, POPL, 2005. ,
Ownership types for safe programming: Preventing data races and deadlocks, OOPSLA, 2002. ,
Checking Interference with Fractional Permissions, LNCS, vol.2694, 2003. ,
DOI : 10.1007/3-540-44898-5_4
Connecting effects and uniqueness with adoption, POPL, 2005. ,
A semantics for concurrent separation logic, Conference on Concurrency Theory, 2004. ,
Variables as Resource for Shared-Memory Programs: Semantics and Soundness, Electronic Notes in Theoretical Computer Science, vol.158, 2006. ,
DOI : 10.1016/j.entcs.2006.04.008
An overview of JML tools and applications, Workshop on Formal Methods for Industrial Critical Systems, 2003. ,
DOI : 10.1007/s10009-004-0167-4
Typestates for Objects, ECOOP, 2004. ,
DOI : 10.1007/978-3-540-24851-4_21
A Local Shape Analysis Based on Separation Logic, TACAS, 2006. ,
DOI : 10.1145/514188.514190
Local Reasoning for Storable Locks and Threads, APLAS, 2007. ,
DOI : 10.1007/978-3-540-76637-7_3
Featherweight Java: a minimal core calculus for Java and GJ, ACM Transactions on Programming Languages and Systems, vol.23, issue.3, 2001. ,
DOI : 10.1145/503502.503505
BI as an assertion language for mutable data structures, POPL, 2001. ,
A Statically Verifiable Programming Model for Concurrent Object-Oriented Programs, ICFEM, 2006. ,
DOI : 10.1007/11901433_23
Reasoning about iterators with separation logic, Proceedings of the 2006 conference on Specification and verification of component-based systems , SAVCBS '06, 2006. ,
DOI : 10.1145/1181195.1181213
Concurrent Programming in Java: Design Principles and Patterns, 1999. ,
Available from http, Progress, 2005. ,
Data groups: Specifying the modification of extended state, OOPSLA, 1998. ,
The Java memory model, POPL, 2005. ,
Resources, concurrency and local reasoning, TCS, vol.375, pp.1-3, 2007. ,
The logic of bunched implications, Bulletin of Symbolic Logic, vol.5, issue.2, 1999. ,
Local reasoning for Java, 2005. ,
Separation logic and abstraction, POPL, 2005. ,
DOI : 10.1145/1040305.1040326
URL : http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.59.5332
Enforcing High-Level Security Properties for Applets, 2004. ,
DOI : 10.1007/1-4020-8147-2_1
URL : https://hal.archives-ouvertes.fr/inria-00071523
Separation logic: a logic for shared mutable data structures, Proceedings 17th Annual IEEE Symposium on Logic in Computer Science, 2002. ,
DOI : 10.1109/LICS.2002.1029817
Toward a Grainless Semantics for Shared-Variable Concurrency, FSTTCS LNCS, vol.3328, 2004. ,
DOI : 10.1007/978-3-540-30538-5_4
A taste of linear logic, Mathematical Foundations of Computer Science, 1993. ,
DOI : 10.1007/3-540-57182-5_12
An example of local reasoning in BI pointer logic: the Schorr-Waite graph marking algorithm, SPACE, 2001. ,