SLIDE 55 Static analysis of multithreaded programs Abstracting interleavings as interferences
Interference abstraction
Abstract interferences I♯ P(I)
def
= P(T × V × R) is abstracted as I♯
def
= (T × V) → N ♯ where N ♯ abstracts P(R) (e.g. intervals) Abstract semantics with interferences S♯
I s
derived from S♯ in a generic way:
Example: S♯
I X ← e t R♯, Ω, I ♯
for each Y in e, get its interference Y ♯
N = ♯ N { I ♯ t′, Y | t′ = t }
if Y ♯
N = ⊥♯ N , replace Y in e with get Y , R♯ ⊔♯ N Y ♯ N
compute R♯′, Ω′ = S♯ e R♯, Ω enriches I ♯ t, X with get(X, R♯′)
MOVEP — 4 December 2012 Static analysis by abstract interpretation Antoine Min´ e