Content uploaded by Dominik Klumpp
Author content
All content in this area was uploaded by Dominik Klumpp on Jun 18, 2022
Content may be subject to copyright.
Commutativity
Statements st1and st2commute
iff
neither statement writes a variable accessed by the other
(“disjoint” variable accesses)
for all programs and wrt. all properties
Formally: read(st1)∩write(st2) = write(st1)∩read(st2) = write(st1)∩write(st2) = ∅
abstract irrelevant details preserve relevant details
2
Instance: Variable-Based Abstraction
Idea: Variable xdoes not occur in the proof ⇒Ignore xwhen determining commutativity
Abstraction:
Istatements ˆ= transition formulae
Iexistentially quantify variables not mentioned in proof
Example
Let Π = {>} y:=x+x {y6= 1}. Then
αΠ(y:=x+x ) : “assign yto some even value (nondet.)”
αΠ(x:=0 ) : “do not change y”
Now: αΠ(y:=x+x )commutes with αΠ(x:=0 ).
6
Instance: Variable-Based Abstraction
Idea: Variable xdoes not occur in the proof ⇒Ignore xwhen determining commutativity
Abstraction:
Istatements ˆ= transition formulae
Iexistentially quantify variables not mentioned in proof
Example
Let Π = {>} y:=x+x {y6= 1}. Then
αΠ(y:=x+x ) : “assign yto some even value (nondet.)”
αΠ(x:=0 ) : “do not change y”
Now: αΠ(y:=x+x )commutes with αΠ(x:=0 ).
6
Instance: Variable-Based Abstraction
Idea: Variable xdoes not occur in the proof ⇒Ignore xwhen determining commutativity
Abstraction:
Istatements ˆ= transition formulae
Iexistentially quantify variables not mentioned in proof
Example
Let Π = {>} y:=x+x {y6= 1}. Then
αΠ(y:=x+x ) : “assign yto some even value (nondet.)”
αΠ(x:=0 ) : “do not change y”
Now: αΠ(y:=x+x )commutes with αΠ(x:=0 ).
6
Instance: Variable-Based Abstraction
Idea: Variable xdoes not occur in the proof ⇒Ignore xwhen determining commutativity
Abstraction:
Istatements ˆ= transition formulae
Iexistentially quantify variables not mentioned in proof
Example
Let Π = {>} y:=x+x {y6= 1}. Then
αΠ(y:=x+x ) : “assign yto some even value (nondet.)”
αΠ(x:=0 ) : “do not change y”
Now: αΠ(y:=x+x )commutes with αΠ(x:=0 ).
6
Instance: Variable-Based Abstraction
Idea: Variable xdoes not occur in the proof ⇒Ignore xwhen determining commutativity
Abstraction:
Istatements ˆ= transition formulae
Iexistentially quantify variables not mentioned in proof
Example
Let Π = {>} y:=x+x {y6= 1}. Then
αΠ(y:=x+x ) : “assign yto some even value (nondet.)”
αΠ(x:=0 ) : “do not change y”
Now: αΠ(y:=x+x )commutes with αΠ(x:=0 ).
6
Instance: Variable-Based Abstraction
Idea: Variable xdoes not occur in the proof ⇒Ignore xwhen determining commutativity
Abstraction:
Istatements ˆ= transition formulae
Iexistentially quantify variables not mentioned in proof
Example
Let Π = {>} y:=x+x {y6= 1}. Then
αΠ(y:=x+x ) : “assign yto some even value (nondet.)”
αΠ(x:=0 ) : “do not change y”
Now: αΠ(y:=x+x )commutes with αΠ(x:=0 ).
6
Instance: Variable-Based Abstraction
Proposition: Variable-based abstraction is safe (it satisfies abstraction and preservation).
Advantages:
Ioften allows additional commutativity
Iabstraction easy to compute
Limitations:
Itheoretically: may lose commutativity
Ipractically: quantifiers are challenging
Generally: abstract commutativity +concrete commutativity
Solution: combine abstract with concrete commutativity
7
Instance: Variable-Based Abstraction
Proposition: Variable-based abstraction is safe (it satisfies abstraction and preservation).
Advantages:
Ioften allows additional commutativity
Iabstraction easy to compute
Limitations:
Itheoretically: may lose commutativity
Ipractically: quantifiers are challenging
Generally: abstract commutativity +concrete commutativity
Solution: combine abstract with concrete commutativity
7
Instance: Variable-Based Abstraction
Proposition: Variable-based abstraction is safe (it satisfies abstraction and preservation).
Advantages:
Ioften allows additional commutativity
Iabstraction easy to compute
Limitations:
Itheoretically: may lose commutativity
Ipractically: quantifiers are challenging
Generally: abstract commutativity +concrete commutativity
Solution: combine abstract with concrete commutativity
7
Instance: Variable-Based Abstraction
Proposition: Variable-based abstraction is safe (it satisfies abstraction and preservation).
Advantages:
Ioften allows additional commutativity
Iabstraction easy to compute
Limitations:
Itheoretically: may lose commutativity
Ipractically: quantifiers are challenging
Generally: abstract commutativity +concrete commutativity
Solution: combine abstract with concrete commutativity
7
Instance: Variable-Based Abstraction
Proposition: Variable-based abstraction is safe (it satisfies abstraction and preservation).
Advantages:
Ioften allows additional commutativity
Iabstraction easy to compute
Limitations:
Itheoretically: may lose commutativity
Ipractically: quantifiers are challenging
Generally: abstract commutativity +concrete commutativity
Solution: combine abstract with concrete commutativity
7
Instance: Variable-Based Abstraction
Proposition: Variable-based abstraction is safe (it satisfies abstraction and preservation).
Advantages:
Ioften allows additional commutativity
Iabstraction easy to compute
Limitations:
Itheoretically: may lose commutativity
Ipractically: quantifiers are challenging
Generally: abstract commutativity +concrete commutativity
Solution: combine abstract with concrete commutativity
7
Instance: Variable-Based Abstraction
Proposition: Variable-based abstraction is safe (it satisfies abstraction and preservation).
Advantages:
Ioften allows additional commutativity
Iabstraction easy to compute
Limitations:
Itheoretically: may lose commutativity
Ipractically: quantifiers are challenging
Generally: abstract commutativity +concrete commutativity
Solution: combine abstract with concrete commutativity
7
Instance: Variable-Based Abstraction
Proposition: Variable-based abstraction is safe (it satisfies abstraction and preservation).
Advantages:
Ioften allows additional commutativity
Iabstraction easy to compute
Limitations:
Itheoretically: may lose commutativity
Ipractically: quantifiers are challenging
Generally: abstract commutativity +concrete commutativity
Solution: combine abstract with concrete commutativity
7
Summary
For automated verification, extend commutativity for given program and property
IChallenge I: remain sound wrt. a proof (safe commutativity)
IChallenge II: overcome potential loss of commutativity (combine relations)
Safe Abstraction yields safe commutativity, for instance: variable-based abstraction
algorithmic approach to soundly combine multiple relations
Questions?
11
Summary
For automated verification, extend commutativity for given program and property
IChallenge I: remain sound wrt. a proof (safe commutativity)
IChallenge II: overcome potential loss of commutativity (combine relations)
Safe Abstraction yields safe commutativity, for instance: variable-based abstraction
algorithmic approach to soundly combine multiple relations
Questions?
11
Summary
For automated verification, extend commutativity for given program and property
IChallenge I: remain sound wrt. a proof (safe commutativity)
IChallenge II: overcome potential loss of commutativity (combine relations)
Safe Abstraction yields safe commutativity, for instance: variable-based abstraction
algorithmic approach to soundly combine multiple relations
Questions?
11
Summary
For automated verification, extend commutativity for given program and property
IChallenge I: remain sound wrt. a proof (safe commutativity)
IChallenge II: overcome potential loss of commutativity (combine relations)
Safe Abstraction yields safe commutativity, for instance: variable-based abstraction
algorithmic approach to soundly combine multiple relations
Questions?
11
Summary
For automated verification, extend commutativity for given program and property
IChallenge I: remain sound wrt. a proof (safe commutativity)
IChallenge II: overcome potential loss of commutativity (combine relations)
Safe Abstraction yields safe commutativity, for instance: variable-based abstraction
algorithmic approach to soundly combine multiple relations
Questions?
11
Summary
For automated verification, extend commutativity for given program and property
IChallenge I: remain sound wrt. a proof (safe commutativity)
IChallenge II: overcome potential loss of commutativity (combine relations)
Safe Abstraction yields safe commutativity, for instance: variable-based abstraction
algorithmic approach to soundly combine multiple relations
Questions?
11