Formal Verification and Security Group
Research Interests Natasha Sharygina
www.verify.inf.usi.ch
Universit` a della Svizzera Italiana (USI)
October 30, 2009
FVS Group (USI) Research Interests October 30, 2009 1 / 21
Formal Verification and Security Group Research Interests Natasha - - PowerPoint PPT Presentation
Formal Verification and Security Group Research Interests Natasha Sharygina www.verify.inf.usi.ch Universit` a della Svizzera Italiana (USI) October 30, 2009 FVS Group (USI) Research Interests October 30, 2009 1 / 21 Outline FVS group
FVS Group (USI) Research Interests October 30, 2009 1 / 21
FVS Group (USI) Research Interests October 30, 2009 2 / 21
FVS Group (USI) Research Interests October 30, 2009 3 / 21
FVS Group (USI) Research Interests October 30, 2009 3 / 21
FVS Group (USI) Research Interests October 30, 2009 4 / 21
FVS Group (USI) Research Interests October 30, 2009 5 / 21
FVS Group (USI) Research Interests October 30, 2009 5 / 21
FVS Group (USI) Research Interests October 30, 2009 5 / 21
FVS Group (USI) Research Interests October 30, 2009 5 / 21
FVS Group (USI) Research Interests October 30, 2009 5 / 21
(abstraction contains both spurious transitions and spurious paths)
iterations to remove numerous spurious transitions.
FVS Group (USI) Research Interests October 30, 2009 5 / 21
FVS Group (USI) Research Interests October 30, 2009 6 / 21
FVS Group (USI) Research Interests October 30, 2009 7 / 21
MixCegarLoop(TransitionSystem M, Property F) begin Π = InitialPredicates(F,T); α = FastAbstraction(T,Π); while not TIMEOUT do π = ModelCheck(α,F); if π = ∅ then return CORRECT; else σST = SpuriousTransition(π); if σST = ∅ then foreach t ∈ π do C = PreciseAbstraction(T,σST (t)); α = α ∧ C; else σSP = SpuriousPath(π); if σSP = ∅ then return INCORRECT; else foreach t ∈ π do Π = Π ∪ σSP (t); C = PreciseAbstraction(T,σSP (t)); α = α ∧ C; end
FVS Group (USI) Research Interests October 30, 2009 8 / 21
MixCegarLoop(TransitionSystem M, Property F) begin Π = InitialPredicates(F,T); α = FastAbstraction(T,Π); while not TIMEOUT do π = ModelCheck(α,F); if π = ∅ then return CORRECT; else σST = SpuriousTransition(π); if σST = ∅ then foreach t ∈ π do C = PreciseAbstraction(T,σST (t)); α = α ∧ C; else σSP = SpuriousPath(π); if σSP = ∅ then return INCORRECT; else foreach t ∈ π do Π = Π ∪ σSP (t); C = PreciseAbstraction(T,σSP (t)); α = α ∧ C; end
FVS Group (USI) Research Interests October 30, 2009 8 / 21
MixCegarLoop(TransitionSystem M, Property F) begin Π = InitialPredicates(F,T); α = FastAbstraction(T,Π); while not TIMEOUT do π = ModelCheck(α,F); if π = ∅ then return CORRECT; else σST = SpuriousTransition(π); if σST = ∅ then foreach t ∈ π do C = PreciseAbstraction(T,σST (t)); α = α ∧ C; else σSP = SpuriousPath(π); if σSP = ∅ then return INCORRECT; else foreach t ∈ π do Π = Π ∪ σSP (t); C = PreciseAbstraction(T,σSP (t)); α = α ∧ C; end
FVS Group (USI) Research Interests October 30, 2009 8 / 21
MixCegarLoop(TransitionSystem M, Property F) begin Π = InitialPredicates(F,T); α = FastAbstraction(T,Π); while not TIMEOUT do π = ModelCheck(α,F); if π = ∅ then return CORRECT; else σST = SpuriousTransition(π); if σST = ∅ then foreach t ∈ π do C = PreciseAbstraction(T,σST (t)); α = α ∧ C; else σSP = SpuriousPath(π); if σSP = ∅ then return INCORRECT; else foreach t ∈ π do Π = Π ∪ σSP (t); C = PreciseAbstraction(T,σSP (t)); α = α ∧ C; end
FVS Group (USI) Research Interests October 30, 2009 8 / 21
MixCegarLoop(TransitionSystem M, Property F) begin Π = InitialPredicates(F,T); α = FastAbstraction(T,Π); while not TIMEOUT do π = ModelCheck(α,F); if π = ∅ then return CORRECT; else σST = SpuriousTransition(π); if σST = ∅ then foreach t ∈ π do C = PreciseAbstraction(T,σST (t)); α = α ∧ C; else σSP = SpuriousPath(π); if σSP = ∅ then return INCORRECT; else foreach t ∈ π do Π = Π ∪ σSP (t); C = PreciseAbstraction(T,σSP (t)); α = α ∧ C; end
1 Perform Precise-
2 Remove detected
Note, all spurious transitions related to detected predicates are removed at once!
FVS Group (USI) Research Interests October 30, 2009 8 / 21
MixCegarLoop(TransitionSystem M, Property F) begin Π = InitialPredicates(F,T); α = FastAbstraction(T,Π); while not TIMEOUT do π = ModelCheck(α,F); if π = ∅ then return CORRECT; else σST = SpuriousTransition(π); if σST = ∅ then foreach t ∈ π do C = PreciseAbstraction(T,σST (t)); α = α ∧ C; else σSP = SpuriousPath(π); if σSP = ∅ then return INCORRECT; else foreach t ∈ π do Π = Π ∪ σSP (t); C = PreciseAbstraction(T,σSP (t)); α = α ∧ C; end
FVS Group (USI) Research Interests October 30, 2009 8 / 21
MixCegarLoop(TransitionSystem M, Property F) begin Π = InitialPredicates(F,T); α = FastAbstraction(T,Π); while not TIMEOUT do π = ModelCheck(α,F); if π = ∅ then return CORRECT; else σST = SpuriousTransition(π); if σST = ∅ then foreach t ∈ π do C = PreciseAbstraction(T,σST (t)); α = α ∧ C; else σSP = SpuriousPath(π); if σSP = ∅ then return INCORRECT; else foreach t ∈ π do Π = Π ∪ σSP (t); C = PreciseAbstraction(T,σSP (t)); α = α ∧ C; end
1 Add new
2 Perform Precise-
3 Remove spurious
FVS Group (USI) Research Interests October 30, 2009 8 / 21
FVS Group (USI) Research Interests October 30, 2009 9 / 21
FVS Group (USI) Research Interests October 30, 2009 9 / 21
FVS Group (USI) Research Interests October 30, 2009 9 / 21
FVS Group (USI) Research Interests October 30, 2009 9 / 21
FVS Group (USI) Research Interests October 30, 2009 10 / 21
1 Integrate synergy with interpolation-based approaches for predicate
2 Investigate trade-offs between precise and approximated approaches in
FVS Group (USI) Research Interests October 30, 2009 10 / 21
FVS Group (USI) Research Interests October 30, 2009 11 / 21
FVS Group (USI) Research Interests October 30, 2009 12 / 21
plug-in new decision procedures
according to SMTCOMP’09
FVS Group (USI) Research Interests October 30, 2009 12 / 21
plug-in new decision procedures
according to SMTCOMP’09
FVS Group (USI) Research Interests October 30, 2009 12 / 21
(other than doing research)
FVS Group (USI) Research Interests October 30, 2009 13 / 21
(other than doing research)
FVS Group (USI) Research Interests October 30, 2009 13 / 21
(other than doing research)
FVS Group (USI) Research Interests October 30, 2009 13 / 21
Fourier-Motzkin elimination to simplify the formula at the preprocessing level
FVS Group (USI) Research Interests October 30, 2009 14 / 21
Fourier-Motzkin elimination to simplify the formula at the preprocessing level
theory of equality, in order to avoid, when possible, a more expensive reduction to SAT
FVS Group (USI) Research Interests October 30, 2009 14 / 21
FVS Group (USI) Research Interests October 30, 2009 15 / 21
FVS Group (USI) Research Interests October 30, 2009 15 / 21
FVS Group (USI) Research Interests October 30, 2009 15 / 21
FVS Group (USI) Research Interests October 30, 2009 15 / 21
FVS Group (USI) Research Interests October 30, 2009 16 / 21
FVS Group (USI) Research Interests October 30, 2009 17 / 21
FVS Group (USI) Research Interests October 30, 2009 17 / 21
FVS Group (USI) Research Interests October 30, 2009 17 / 21
FVS Group (USI) Research Interests October 30, 2009 17 / 21
FVS Group (USI) Research Interests October 30, 2009 17 / 21
FVS Group (USI) Research Interests October 30, 2009 18 / 21
FVS Group (USI) Research Interests October 30, 2009 18 / 21
candidates for each loop;
loop invariant;
discovered invariants.
FVS Group (USI) Research Interests October 30, 2009 18 / 21
candidates for each loop;
loop invariant;
discovered invariants.
FVS Group (USI) Research Interests October 30, 2009 18 / 21
1http://www.cprover.org/goto-cc FVS Group (USI) Research Interests October 30, 2009 19 / 21
FVS Group (USI) Research Interests October 30, 2009 20 / 21
FVS Group (USI) Research Interests October 30, 2009 20 / 21
FVS Group (USI) Research Interests October 30, 2009 21 / 21