presentation

23
ebogage des Programmes Probabilistes PRISM ebogage des Programmes Probabilistes PRISM Larbaoui Lotfi et Mustapha Bourahla Universit´ e de M’sila Alg´ erie 8 novembre 2016

Upload: larbaouilotfigmailcom-university-of-msila-algeria

Post on 24-Jan-2017

17 views

Category:

Software


0 download

TRANSCRIPT

Debogage des Programmes Probabilistes PRISM

Debogage des ProgrammesProbabilistes PRISM

Larbaoui Lotfi et Mustapha Bourahla

Universite de M’sila Algerie

8 novembre 2016

Debogage des Programmes Probabilistes PRISM

Introduction

Le Model-Checking Probabiliste

Localisation des erreurs dans les programmes PRISM

Etude de cas : Les VANETs

Conclusion & perspectives

Debogage des Programmes Probabilistes PRISM

Introduction

Introduction

Le Model-Checking Probabiliste

Localisation des erreurs dans les programmes PRISM

Etude de cas : Les VANETs

Conclusion & perspectives

Debogage des Programmes Probabilistes PRISM

Introduction

Le probleme :

↪→ Dans le cas ou l’une de ces proprietes n’est pas satisfaite :

I Les contre-exemples probabilistes sont tres difficiles acomprendre .

I La localisation l’origine de l’erreur du modele peut prendrebeaucoup de temps .

Apercu de notre solution : Les idees

1. Un programme XSL : transformer les contre-exemples vers desprogrammes meta-Prolog) .

2. La logique ICL pour le raisonnement par abductionprobabiliste .

3. L’outil ELPMC : l’integration de (PRISM ,DiPro et Prolog ) .

Debogage des Programmes Probabilistes PRISM

Le Model-Checking Probabiliste

Introduction

Le Model-Checking Probabiliste

Localisation des erreurs dans les programmes PRISM

Etude de cas : Les VANETs

Conclusion & perspectives

Debogage des Programmes Probabilistes PRISM

Le Model-Checking Probabiliste

Probabilistic model checking

Debogage des Programmes Probabilistes PRISM

Le Model-Checking Probabiliste

PRISM

PRISM est un outil de verification automatique de proprietes desmodeles stochastiques (probabilistic model checker) .PRISM supporte plusieurs types de modeles stochastiques :

les (DTMCs), les (CTMCs) , (MDPs) et les (PTAs).et une liste de specification du modele soit :en PCTL (pour les DTMC et MDP),soit en CSL (pour les CTMC).

↪→ Une propriete PCTL dont la forme est :

I P∼p[ϕ] ou ϕ = ϕ1Uϕ2

I P=?[ϕ]

Debogage des Programmes Probabilistes PRISM

Le Model-Checking Probabiliste

PRISM

PRISM est un outil de verification automatique de proprietes desmodeles stochastiques (probabilistic model checker) .PRISM supporte plusieurs types de modeles stochastiques :

les (DTMCs), les (CTMCs) , (MDPs) et les (PTAs).et une liste de specification du modele soit :en PCTL (pour les DTMC et MDP),soit en CSL (pour les CTMC).↪→ Une propriete PCTL dont la forme est :

I P∼p[ϕ] ou ϕ = ϕ1Uϕ2

I P=?[ϕ]

Debogage des Programmes Probabilistes PRISM

Le Model-Checking Probabiliste

Un simple programme PRISM

Une propriete PCTL

Debogage des Programmes Probabilistes PRISM

Le Model-Checking Probabiliste

Contre-exemples Probabilistes

Un contre-exemple probabiliste est un ensemble de cheminsrepresentant des comportments dans le modele qui satisfont lapropriete ϕ

Debogage des Programmes Probabilistes PRISM

Le Model-Checking Probabiliste

Le code XML du contre-exemple genere par DiPro

XML :< Counterexamples >< DiagnosticPath >< Probability >0.0 < /Probability >< Trace >

[pos c1 = 1, pos c2 = 1, pos l = 20, turn = true, send0 = 0, send1 =0, send2 = 0]{>> [m] > 0 > 1.0 > pos c1′ = 6, pos c2′ = 6, pos l ′ = 25, turn′ = false >}[pos c1 = 6, pos c2 = 6, pos l = 25, turn = false, send0 = 0, send1 =0, send2 = 0]{>> [n] > 0 > 0.5 > turn′ = true, send0′ = 1, send1′ = 0, send2′ = 0 >}[pos c1 = 6, pos c2 = 6, pos l = 25, turn = true, send0 = 1, send1 =

0, send2 = 0]

< /Trace >< /DiagnosticPath >

< /Counterexamples >

Debogage des Programmes Probabilistes PRISM

Localisation des erreurs dans les programmes PRISM

Introduction

Le Model-Checking Probabiliste

Localisation des erreurs dans les programmes PRISM

Etude de cas : Les VANETs

Conclusion & perspectives

Debogage des Programmes Probabilistes PRISM

Localisation des erreurs dans les programmes PRISM

Generation des programmes ICL

La logique du choix independant (Independet Choice Logic) a etedeveloppee pour raisoner sur les systemes multi-agents.Un progamme ICL representant un contre-exemple probabiliste estcompose de :

1. Faits de la forme d(s, L) = D indiquant le degre deresponsabilite de chaque sous formule simple extraite de laformule de propriete.

2. Clauses representant les transitions dans le contre exempleprobabiliste et qui ont la forme

s ′ < −s & d(s,X ) = D & c(D).

3. la distribution de probabilites sur les choix de transitionsprob c(D) = D ∗ p

Debogage des Programmes Probabilistes PRISM

Localisation des erreurs dans les programmes PRISM

Le programme ICLpropertyProb(0.25). lastStates([s([f0=false, f1=false, f2=true],0)]) .% Responsability Degrees :d([f 0 = true, f 1 = true, f 2 = false], [[f 0 = true, f 1 = true]]) = 1.d([f 0 = true, f 1 = false, f 2 = false], [[f 0 = true]]) = 1.d([f 0 = false, f 1 = true, f 2 = false], [[f 1 = true]]) = 1.d([f 0 = false, f 1 = false, f 2 = true], [[f 2 = true]]) = 1.% Transitions :s([f 0 = true, f 1 = true, f 2 = false], 0) < −s([f 0 = true, f 1 = false, f 2 = false], 0) &

d([f 0 = true, f 1 = false, f 2 = false],X ) = D & c0(D).s([f 0 = false, f 1 = true, f 2 = false], 0) < −s([f 0 = true, f 1 = true, f 2 = false], 0) &

d([f 0 = true, f 1 = true, f 2 = false],X ) = D&c1(D).s([f 0 = false, f 1 = true, f 2 = false], 0) < −s([f 0 = true, f 1 = true, f 2 = false], 1) &

d([f 0 = true, f 1 = true, f 2 = false],X ) = D & c1(D).s([f 0 = false, f 1 = false, f 2 = true], 0) < −s([f 0 = false, f 1 = true, f 2 = false], 0) &

d([f 0 = false, f 1 = true, f 2 = false],X ) = D & c2(D).s([f 0 = true, f 1 = true, f 2 = false], 1) < −s([f 0 = true, f 1 = true, f 2 = false], 0) &

d([f 0 = true, f 1 = true, f 2 = false],X ) = D & c3(D).% Probabity distribution :

prob s([f 0 = true, f 1 = false, f 2 = false], 0) : 1.0. prob c0(D) : D ∗ 0.6.

prob c1(D) : D ∗ 0.4. probc2(D) : D ∗ 0.7. prob c3(D) : D ∗ 0.6.

Debogage des Programmes Probabilistes PRISM

Localisation des erreurs dans les programmes PRISM

Debogage des Programmes Probabilistes PRISM

Localisation des erreurs dans les programmes PRISM

Resultat de raisonnement par abduction probabiliste

Ce resultat indique que les gardes des transitions impliques dans lecontre exemple devront etre raffinees par des expressions proposeespar le raisonneur.

Debogage des Programmes Probabilistes PRISM

Localisation des erreurs dans les programmes PRISM

Resultat de raisonnement par abduction probabiliste

Ce resultat indique que les gardes des transitions impliques dans lecontre exemple devront etre raffinees par des expressions proposeespar le raisonneur.

Debogage des Programmes Probabilistes PRISM

Etude de cas : Les VANETs

Introduction

Le Model-Checking Probabiliste

Localisation des erreurs dans les programmes PRISM

Etude de cas : Les VANETs

Conclusion & perspectives

Debogage des Programmes Probabilistes PRISM

Etude de cas : Les VANETs

Etude de cas : Les VANETs

Un reseau ad hoc de vehicules ou VANET est constitue devehicules capables de s’echanger des informations par voie radiodans le but d’ameliorer la securite routiere .

c1 depasse le leader, tandis que c2 vient dans la direction opposee.

Debogage des Programmes Probabilistes PRISM

Etude de cas : Les VANETs

Etude de cas : Les VANETs

Propriete :

Fragement du model :

Debogage des Programmes Probabilistes PRISM

Conclusion & perspectives

Introduction

Le Model-Checking Probabiliste

Localisation des erreurs dans les programmes PRISM

Etude de cas : Les VANETs

Conclusion & perspectives

Debogage des Programmes Probabilistes PRISM

Conclusion & perspectives

Conclusion & perspectives

I Notre technique de localisation des erreurs permet en effet defaire le lien entre la verification, diagnostique descontre-exemples et la correction des erreurs de maniereautomatique .

I Nous prevoyons :I Developpement d’une version interactive de notre outil :

Fournir les localisations l’une apres les autres (plusieursproprietes)

I Construction un systeme de marquage pour selectionner lesgardes des transitions concernees par le raffinement.

Debogage des Programmes Probabilistes PRISM

Conclusion & perspectives

Bibliographie

Husain Aljazzar,Florian Leitner,Stefan Leue and DimitarDiPro - A Tool for Probabilistic Counterexample GenerationModel Checking Software - 18th International SPIN Workshop,Snowbird, UT, USA, July 14-15, 2011. Proceedings

Mustapha BourahlaRepairing Errors in PRISM Programs Using ProbabilisticAbduction ReasoningModel and Data Engineering - 5th International Conference,MEDI 2015, Rhodes, Greece, September 26-28, 2015,Proceedings

M. Kwiatkowska , G. Norman and D. ParkerPRISM 4.0 : Verification of Probabilistic Real-time SystemsProc. 23rd International Conference on Computer AidedVerification (CAV’11)