DOI: 10.1007/978-3-540-87873-5_14
|View full text |Cite
|
Sign up to set email alerts
|

Expression Decomposition in a Rely/Guarantee Context

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
6
0

Publication Types

Select...
4
2

Relationship

0
6

Authors

Journals

citations
Cited by 6 publications
(6 citation statements)
references
References 3 publications
0
6
0
Order By: Relevance
“…Stability of a property p over the execution of a command is an important property and, in the context of concurrency, stability of a property over interference from the environment is especially important [Col08,WDP10a]. This section examines stability properties that are useful for later laws.…”
Section: Definition 71 (Partially-correct) a Command C Is Partially C...mentioning
confidence: 99%
See 2 more Smart Citations
“…Stability of a property p over the execution of a command is an important property and, in the context of concurrency, stability of a property over interference from the environment is especially important [Col08,WDP10a]. This section examines stability properties that are useful for later laws.…”
Section: Definition 71 (Partially-correct) a Command C Is Partially C...mentioning
confidence: 99%
“…Related work. Coleman [Col08] and Wickerson et al [WDP10b] use a stronger property that requires that no variables used within e are modified; none of the examples above are handled under their definition unless x and y are assumed to be unmodified. The source of the additional generality of our definition is that it is defined in terms of the semantics of expressions rather than being based on their syntactic form.…”
Section: Eq(e1 E2)mentioning
confidence: 99%
See 1 more Smart Citation
“…Coleman [5] proposes the following rule for reasoning about one-armed conditional statements whose test conditions are evaluated non-atomically in the presence of interference.…”
Section: Aside: Simplification Of Complex Rg Proof Rulesmentioning
confidence: 99%
“…Retrieved from the Unix Heritage Society. 5 #define WORD sizeof(st) #define BLOCK 1024 #define testbusy(p) ((int)(p)&1) #define setbusy(p) (st *)((int)(p)|1) #define clearbusy(p) (st *)((int)(p)&~1) struct store { struct store *ptr; }; typedef struct store st; static st s [2]; /*initial arena*/ // static struct store *allocp; (bug removed) static st *t; /*arena top*/ char* sbrk(); char* malloc(unsigned nbytes) { register st *p, *q; register nw; static temp; // omitted: initialisation code nw = (nbytes+WORD+WORD-1)/WORD; for(p=s; ; ) { for(temp=0; ; ) { if(!testbusy(p->ptr)) { while(!testbusy((q=p->ptr)->ptr)) p->ptr = q->ptr; if(q>=p+nw && p+nw>=p) goto found; } q = p; p = clearbusy(p->ptr); if(p>q) ; else if(q!=t || p!=s) return 0; else if(++temp>1) break; } temp = ((nw+BLOCK/WORD) /(BLOCK/WORD))*(BLOCK/WORD); q = (st *)sbrk(0); if(q+temp < q) return 0; q = (st *)sbrk(temp*WORD); if((int)q == -1) return 0; t->ptr = q; if(q!=t+1) t->ptr = setbusy(t->ptr); t = q->ptr = q+temp-1; t->ptr = setbusy(s); } found: if(q>p+nw) ((st *)(p+nw))->ptr = p->ptr; p->ptr = setbusy(p+nw); return((char *)(p+1)); } free(register char *ap) { register st *p = ((st *)ap)-1; p->ptr = clearbusy(p->ptr); }…”
Section: A Source Code Of Unix V7 Memory Managermentioning
confidence: 99%