partially bounded context-aware verification · model-checking _ , ok model property _ , not ok...

15
Partially Bounded Context-Aware Verification LE ROUX Luka & TEODOROV Ciprian Lab-STICC, ENSTA Bretagne, Brest, France 1 SEFM’19 Oslo, Norway 18/09/2019

Upload: others

Post on 03-Mar-2021

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

Partially Bounded Context-Aware Verification

LE ROUX Luka & TEODOROV CiprianLab-STICC, ENSTA Bretagne, Brest, France

1

SEFM’19

Oslo, Norway

18/09/2019

Page 2: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

IntroductionModel-Checking

_ , Ok

Model Property

_ , Not Ok

Exhaustive and automatic formal method[ClarkeEmerson82, QueillleSifakis82]

• Major algorithmic breakthroughs [ClarkeEmersonSifakis09]

� Symbolic approach (OBDDs)

� Partial order reduction

� Bounded Model Checking

� Abstraction Refinement Loop (CEGAR)

• When scalability issues persist� Refine the specifications

� Narrow the modeling scope

� Split the analysis

2

Page 3: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

IntroductionSplitting the analysis

Model

MnM1 M2 …?

Mi P

Model Property

All

?

Model Property

Mn P

M1 P

M2 P

3

Page 4: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

Failures Injection

& Requirements

Failures during

the execution

Case StudyLanding Gear System [F. Boniol, V. Wiels, ABZ’2014]

Doors

L. GearsExt./Retr.

Hydraulic Parts(Extension / Retraction)

Overview

?Detection

4

Page 5: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

Context-Aware Verification [STTT’17]

LGS SpecificationInteraction Alphabet

A = { handle, f1, …, fn }

Guide

GnG1 G2 …

?

All

Guide

M PGi

M P

?5

Model

Transition

System

Verification

Guide

Labeled

?

Page 6: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

xGDLOperators

C * Repetition (0+)

C + Repetition (1+)

C {i, j} Repetition (bounded)

C1 || C2 Parallel interleaving

{i, j} of [C1, C2, …, Cn] Permutations

a Interaction

⊥ Empty term

C1 ; C2 Sequence

C1 □ C2 Alternative

C ? Optional

Examples

Pilot handle * « Handle the landing gears at will »

Failures {0, 3} of [f1, f2, …, f12] « 0 to 3 unique failures among a set of 12 »

Guide Pilot || Failures « 0 to 3 unique failures, arbitrarily injected »

Interaction Alphabet

A = { Handle, f1, …, fn }

6

Page 7: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

xGDLCompilation

handle* || {0 , 3 } of [fi , fj , fk ]

xGDL expression xGDL GuideDFANFA

Semantics

7

Page 8: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

xGDLComposition

Always possible to produce a « neutral element »

• Initial states

• Synchronisation

• Stuttering steps

8

Transition

System

xGDL Guide

Labeled

Page 9: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

Initial GuideProduction & Soundness

LGS Requirements[…] Failures are irreversible

[…] Four or more failures is outside the scope

9

MGscope P

M P

Page 10: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

Splitting the analysisIllustration

MGscope P

Model-Checking

10

At most three failures may happen in one execution.

There are 720 distinct subsets of three failures.!

MGscope P

MGid PAllGscope

G0 G1 G719…

Page 11: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

Gid = handle* || {0 , 3 } of [fi , fj , fk ]

11

DAG specific algorithms from CaV literature

• Split: an automatic, recursive decomposition

• PastFree[ze]: reduces memory load

Soundness ?

MGid P

Model-Checking

Unroll(Gid, 5)

Partially BoundedUnrolling the guide

Page 12: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

Partially BoundedSoundness

12

MGid P

Model-Checking

1

128Gb

MUnroll(Gid, 35) P1 0 handle 1 handle

Resulting state space (indexed) :

34 handlei handle n handle

Bi-simulation

Page 13: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

Conclusion

13

MGscope P

M P

MGscope P

MGid PAll

Interaction Alphabet

A = { Handle, f1, …, fn } xGDL

MUnroll(G, n) P

MG P

& Resulting state space analysis

Gscope

G0 G1 G719…

Page 14: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

Future Works

• PastFree[ze] with DFAs (cycles)

• Tooling / automation of the induced state clusters bi-simulation

• Usage in a collective and heterogeneous verification task

14

Page 15: Partially Bounded Context-Aware Verification · Model-Checking _ , Ok Model Property _ , Not Ok Exhaustive and automatic formal method [ClarkeEmerson82, QueillleSifakis82] • Major

15

Tusen takk!(thank you!)

Questions

SEFM’19

Oslo, Norway

18/09/2019