SlideShare une entreprise Scribd logo
1  sur  23
Télécharger pour lire hors ligne
D´ebogage des Programmes Probabilistes PRISM
D´ebogage des Programmes
Probabilistes PRISM
Larbaoui Lotfi et Mustapha Bourahla
Universit´e de M’sila Alg´erie
8 novembre 2016
D´ebogage des Programmes Probabilistes PRISM
Introduction
Le Model-Checking Probabiliste
Localisation des erreurs dans les programmes PRISM
Etude de cas : Les VANETs
Conclusion & perspectives
D´ebogage des Programmes Probabilistes PRISM
Introduction
Introduction
Le Model-Checking Probabiliste
Localisation des erreurs dans les programmes PRISM
Etude de cas : Les VANETs
Conclusion & perspectives
D´ebogage des Programmes Probabilistes PRISM
Introduction
Le probl`eme :
→ Dans le cas o`u l’une de ces propri´et´es n’est pas satisfaite :
Les contre-exemples probabilistes sont tr`es difficiles `a
comprendre .
La localisation l’origine de l’erreur du mod`ele peut prendre
beaucoup de temps .
Aper¸cu de notre solution : Les id´ees
1. Un programme XSL : transformer les contre-exemples vers des
programmes m´eta-Prolog) .
2. La logique ICL pour le raisonnement par abduction
probabiliste .
3. L’outil ELPMC : l’int´egration de (PRISM ,DiPro et Prolog ) .
D´ebogage 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
D´ebogage des Programmes Probabilistes PRISM
Le Model-Checking Probabiliste
Probabilistic model checking
D´ebogage des Programmes Probabilistes PRISM
Le Model-Checking Probabiliste
PRISM
PRISM est un outil de v´erification automatique de propri´et´es des
mod`eles stochastiques (probabilistic model checker) .
PRISM supporte plusieurs types de mod`eles stochastiques :
les (DTMCs), les (CTMCs) , (MDPs) et les (PTAs).
et une liste de sp´ecification du mod`ele soit :
en PCTL (pour les DTMC et MDP),
soit en CSL (pour les CTMC).
D´ebogage des Programmes Probabilistes PRISM
Le Model-Checking Probabiliste
PRISM
PRISM est un outil de v´erification automatique de propri´et´es des
mod`eles stochastiques (probabilistic model checker) .
PRISM supporte plusieurs types de mod`eles stochastiques :
les (DTMCs), les (CTMCs) , (MDPs) et les (PTAs).
et une liste de sp´ecification du mod`ele soit :
en PCTL (pour les DTMC et MDP),
soit en CSL (pour les CTMC).
→ Une propri´et´e PCTL dont la forme est :
P∼p[ϕ] o`u ϕ = ϕ1Uϕ2
P=?[ϕ]
D´ebogage des Programmes Probabilistes PRISM
Le Model-Checking Probabiliste
Un simple programme PRISM
Une propri´et´e PCTL
D´ebogage des Programmes Probabilistes PRISM
Le Model-Checking Probabiliste
Contre-exemples Probabilistes
Un contre-exemple probabiliste est un ensemble de chemins
representant des comportments dans le mod`ele qui satisfont la
propri´et´e ϕ
D´ebogage des Programmes Probabilistes PRISM
Le Model-Checking Probabiliste
Le code XML du contre-exemple g´en´er´e 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 >
D´ebogage 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
D´ebogage des Programmes Probabilistes PRISM
Localisation des erreurs dans les programmes PRISM
G´en´eration des programmes ICL
La logique du choix ind´ependant (Independet Choice Logic) a ´et´e
d´evelopp´ee pour raisoner sur les syst`emes multi-agents.
Un progamme ICL repr´esentant un contre-exemple probabiliste est
compos´e de :
1. Faits de la forme d(s, L) = D indiquant le degr´e de
responsabilit´e de chaque sous formule simple extraite de la
formule de propri´et´e.
2. Clauses repr´esentant les transitions dans le contre exemple
probabiliste et qui ont la forme
s < −s & d(s, X) = D & c(D).
3. la distribution de probabilit´es sur les choix de transitions
prob c(D) = D ∗ p
D´ebogage des Programmes Probabilistes PRISM
Localisation des erreurs dans les programmes PRISM
Le programme ICL
propertyProb(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.
D´ebogage des Programmes Probabilistes PRISM
Localisation des erreurs dans les programmes PRISM
D´ebogage des Programmes Probabilistes PRISM
Localisation des erreurs dans les programmes PRISM
R´esultat de raisonnement par abduction probabiliste
D´ebogage des Programmes Probabilistes PRISM
Localisation des erreurs dans les programmes PRISM
R´esultat de raisonnement par abduction probabiliste
Ce r´esultat indique que les gardes des transitions impliqu´es dans le
contre exemple devront ˆetre raffin´ees par des expressions propos´ees
par le raisonneur.
D´ebogage 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
D´ebogage des Programmes Probabilistes PRISM
Etude de cas : Les VANETs
Etude de cas : Les VANETs
Un r´eseau ad hoc de v´ehicules ou VANET est constitu´e de
v´ehicules capables de s’´echanger des informations par voie radio
dans le but d’am´eliorer la s´ecurit´e routi`ere .
c1 d´epasse le leader, tandis que c2 vient dans la direction oppos´ee.
D´ebogage des Programmes Probabilistes PRISM
Etude de cas : Les VANETs
Etude de cas : Les VANETs
Propri´et´e :
Fragement du model :
D´ebogage 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
D´ebogage des Programmes Probabilistes PRISM
Conclusion & perspectives
Conclusion & perspectives
Notre technique de localisation des erreurs permet en effet de
faire le lien entre la v´erification, diagnostique des
contre-exemples et la correction des erreurs de mani`ere
automatique .
Nous pr´evoyons :
D´eveloppement d’une version interactive de notre outil :
Fournir les localisations l’une apr`es les autres (plusieurs
propri´et´es)
Construction un syst`eme de marquage pour s´electionner les
gardes des transitions concern´ees par le raffinement.
D´ebogage des Programmes Probabilistes PRISM
Conclusion & perspectives
Bibliographie
Husain Aljazzar,Florian Leitner,Stefan Leue and Dimitar
DiPro - A Tool for Probabilistic Counterexample Generation
Model Checking Software - 18th International SPIN Workshop,
Snowbird, UT, USA, July 14-15, 2011. Proceedings
Mustapha Bourahla
Repairing Errors in PRISM Programs Using Probabilistic
Abduction Reasoning
Model and Data Engineering - 5th International Conference,
MEDI 2015, Rhodes, Greece, September 26-28, 2015,
Proceedings
M. Kwiatkowska , G. Norman and D. Parker
PRISM 4.0 : Verification of Probabilistic Real-time Systems
Proc. 23rd International Conference on Computer Aided
Verification (CAV’11)

Contenu connexe

Tendances

Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivations
Sana Aroussi
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
mohamed_SAYARI
 
Chapitre i rappel sur l'algèbre de boole
Chapitre i rappel sur l'algèbre de boole Chapitre i rappel sur l'algèbre de boole
Chapitre i rappel sur l'algèbre de boole
Sana Aroussi
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétude
Sana Aroussi
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaine
Afef Ilahi
 
Programmation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeProgrammation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexe
Jiijishady
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
Sana Aroussi
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
Chahrawoods Dmz
 

Tendances (20)

Chapitre 3 NP-complétude
Chapitre 3 NP-complétudeChapitre 3 NP-complétude
Chapitre 3 NP-complétude
 
Récursivité
RécursivitéRécursivité
Récursivité
 
Chapitre i introduction et motivations
Chapitre i introduction et motivationsChapitre i introduction et motivations
Chapitre i introduction et motivations
 
Analyse Numérique – TP
Analyse Numérique – TP Analyse Numérique – TP
Analyse Numérique – TP
 
Recursiviteeeeeeeeee
RecursiviteeeeeeeeeeRecursiviteeeeeeeeee
Recursiviteeeeeeeeee
 
DCT1 4SI
DCT1  4SIDCT1  4SI
DCT1 4SI
 
Regression logistque
Regression  logistqueRegression  logistque
Regression logistque
 
Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)Algorithmique et programmation en Pascal (résumé)
Algorithmique et programmation en Pascal (résumé)
 
Les algorithmes d'arithmetique
Les algorithmes d'arithmetiqueLes algorithmes d'arithmetique
Les algorithmes d'arithmetique
 
Chapitre i rappel sur l'algèbre de boole
Chapitre i rappel sur l'algèbre de boole Chapitre i rappel sur l'algèbre de boole
Chapitre i rappel sur l'algèbre de boole
 
Chapitre vi np complétude
Chapitre vi np complétudeChapitre vi np complétude
Chapitre vi np complétude
 
Tp4 matlab
Tp4 matlabTp4 matlab
Tp4 matlab
 
Résumé Algorithme et Programmation
Résumé Algorithme et ProgrammationRésumé Algorithme et Programmation
Résumé Algorithme et Programmation
 
Fonctions chaine
Fonctions chaineFonctions chaine
Fonctions chaine
 
Programmation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexeProgrammation lineaire algorithme_du_simplexe
Programmation lineaire algorithme_du_simplexe
 
Chapitre v algorithmes gloutons
Chapitre v algorithmes gloutonsChapitre v algorithmes gloutons
Chapitre v algorithmes gloutons
 
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de trirécursivité algorithmique et complexité algorithmique et Les algorithmes de tri
récursivité algorithmique et complexité algorithmique et Les algorithmes de tri
 
Cours algorithmique et complexite complet
Cours algorithmique et complexite completCours algorithmique et complexite complet
Cours algorithmique et complexite complet
 
Classifieur d'entropie maximale (MaxEnt)
Classifieur d'entropie maximale (MaxEnt)Classifieur d'entropie maximale (MaxEnt)
Classifieur d'entropie maximale (MaxEnt)
 
Présentation acp
Présentation acpPrésentation acp
Présentation acp
 

En vedette

Power point pastor alemán
Power point pastor alemánPower point pastor alemán
Power point pastor alemán
pernutote
 
2017 Town of Parry Sound Budget - Budget Overview
2017 Town of Parry Sound Budget - Budget Overview2017 Town of Parry Sound Budget - Budget Overview
2017 Town of Parry Sound Budget - Budget Overview
Trevor Pinn, CPA, CA
 
John_Sheehan 110816
John_Sheehan 110816John_Sheehan 110816
John_Sheehan 110816
John Sheehan
 

En vedette (10)

Power point pastor alemán
Power point pastor alemánPower point pastor alemán
Power point pastor alemán
 
Speciale_Peter_Ravn_Lilleheden
Speciale_Peter_Ravn_LillehedenSpeciale_Peter_Ravn_Lilleheden
Speciale_Peter_Ravn_Lilleheden
 
Braccialetti led
Braccialetti ledBraccialetti led
Braccialetti led
 
"Modificación de consolas PAL: recuperando su esencia original" [Taller Retro...
"Modificación de consolas PAL: recuperando su esencia original" [Taller Retro..."Modificación de consolas PAL: recuperando su esencia original" [Taller Retro...
"Modificación de consolas PAL: recuperando su esencia original" [Taller Retro...
 
Prezentacja1
Prezentacja1Prezentacja1
Prezentacja1
 
2017 Town of Parry Sound Budget - Budget Overview
2017 Town of Parry Sound Budget - Budget Overview2017 Town of Parry Sound Budget - Budget Overview
2017 Town of Parry Sound Budget - Budget Overview
 
Radiacion de rayos ultra violeta
Radiacion de rayos ultra violeta Radiacion de rayos ultra violeta
Radiacion de rayos ultra violeta
 
23. NECS 2016 _ Digital Connectivity_ Mr. Anupam Agarwal
23. NECS 2016 _ Digital Connectivity_ Mr. Anupam Agarwal23. NECS 2016 _ Digital Connectivity_ Mr. Anupam Agarwal
23. NECS 2016 _ Digital Connectivity_ Mr. Anupam Agarwal
 
Меню
МенюМеню
Меню
 
John_Sheehan 110816
John_Sheehan 110816John_Sheehan 110816
John_Sheehan 110816
 

Similaire à Presentation

ACDM approche detection malware
ACDM approche detection malware ACDM approche detection malware
ACDM approche detection malware
youssra chaib
 
FLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretFLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caret
jfeudeline
 
rapport_ecrit_final
rapport_ecrit_finalrapport_ecrit_final
rapport_ecrit_final
Jean Ibarz
 
Owf 2013 rii panorama leroy
Owf 2013 rii panorama leroyOwf 2013 rii panorama leroy
Owf 2013 rii panorama leroy
Patrick MOREAU
 

Similaire à Presentation (20)

2-Algo.ppt
2-Algo.ppt2-Algo.ppt
2-Algo.ppt
 
ACDM approche detection malware
ACDM approche detection malware ACDM approche detection malware
ACDM approche detection malware
 
FLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caretFLTauR - Construction de modèles de prévision sous r avec le package caret
FLTauR - Construction de modèles de prévision sous r avec le package caret
 
Impl´ementation d’une copule mutilvari´ee.pdf
Impl´ementation d’une copule mutilvari´ee.pdfImpl´ementation d’une copule mutilvari´ee.pdf
Impl´ementation d’une copule mutilvari´ee.pdf
 
rapport_ecrit_final
rapport_ecrit_finalrapport_ecrit_final
rapport_ecrit_final
 
Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2Mardi gras du 2 juin 2010 : CSIM2
Mardi gras du 2 juin 2010 : CSIM2
 
FIM702: lecture 7
FIM702: lecture 7FIM702: lecture 7
FIM702: lecture 7
 
[Présentation PFE] Conception et implémentation d'un estimateur conjoint de l...
[Présentation PFE] Conception et implémentation d'un estimateur conjoint de l...[Présentation PFE] Conception et implémentation d'un estimateur conjoint de l...
[Présentation PFE] Conception et implémentation d'un estimateur conjoint de l...
 
Cours1.pptx
Cours1.pptxCours1.pptx
Cours1.pptx
 
PJ - machine learning avec scikit-learn.pdf
PJ - machine learning avec scikit-learn.pdfPJ - machine learning avec scikit-learn.pdf
PJ - machine learning avec scikit-learn.pdf
 
Code Correcteurs d'Erreurs : Code linéaire, code cyclique , code goppa
Code Correcteurs d'Erreurs :  Code linéaire, code cyclique , code goppa  Code Correcteurs d'Erreurs :  Code linéaire, code cyclique , code goppa
Code Correcteurs d'Erreurs : Code linéaire, code cyclique , code goppa
 
LocFaults, une approche bornée à base de contraintes pour l'aide à la localis...
LocFaults, une approche bornée à base de contraintes pour l'aide à la localis...LocFaults, une approche bornée à base de contraintes pour l'aide à la localis...
LocFaults, une approche bornée à base de contraintes pour l'aide à la localis...
 
La programmation par contraintes avec Choco3 (Java)
La programmation par contraintes avec Choco3 (Java)La programmation par contraintes avec Choco3 (Java)
La programmation par contraintes avec Choco3 (Java)
 
Codes Correcteurs d’Erreurs.pptx
Codes Correcteurs d’Erreurs.pptxCodes Correcteurs d’Erreurs.pptx
Codes Correcteurs d’Erreurs.pptx
 
Owf 2013 rii panorama leroy
Owf 2013 rii panorama leroyOwf 2013 rii panorama leroy
Owf 2013 rii panorama leroy
 
management-risques-projet
 management-risques-projet  management-risques-projet
management-risques-projet
 
Calibration de modèles d'agents de marchés financiers par une démarche d'infé...
Calibration de modèles d'agents de marchés financiers par une démarche d'infé...Calibration de modèles d'agents de marchés financiers par une démarche d'infé...
Calibration de modèles d'agents de marchés financiers par une démarche d'infé...
 
Projet d'Analyse Numérique
Projet d'Analyse NumériqueProjet d'Analyse Numérique
Projet d'Analyse Numérique
 
Metrique
MetriqueMetrique
Metrique
 
Rapport stage
Rapport stageRapport stage
Rapport stage
 

Presentation

  • 1. D´ebogage des Programmes Probabilistes PRISM D´ebogage des Programmes Probabilistes PRISM Larbaoui Lotfi et Mustapha Bourahla Universit´e de M’sila Alg´erie 8 novembre 2016
  • 2. D´ebogage des Programmes Probabilistes PRISM Introduction Le Model-Checking Probabiliste Localisation des erreurs dans les programmes PRISM Etude de cas : Les VANETs Conclusion & perspectives
  • 3. D´ebogage des Programmes Probabilistes PRISM Introduction Introduction Le Model-Checking Probabiliste Localisation des erreurs dans les programmes PRISM Etude de cas : Les VANETs Conclusion & perspectives
  • 4. D´ebogage des Programmes Probabilistes PRISM Introduction Le probl`eme : → Dans le cas o`u l’une de ces propri´et´es n’est pas satisfaite : Les contre-exemples probabilistes sont tr`es difficiles `a comprendre . La localisation l’origine de l’erreur du mod`ele peut prendre beaucoup de temps . Aper¸cu de notre solution : Les id´ees 1. Un programme XSL : transformer les contre-exemples vers des programmes m´eta-Prolog) . 2. La logique ICL pour le raisonnement par abduction probabiliste . 3. L’outil ELPMC : l’int´egration de (PRISM ,DiPro et Prolog ) .
  • 5. D´ebogage 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
  • 6. D´ebogage des Programmes Probabilistes PRISM Le Model-Checking Probabiliste Probabilistic model checking
  • 7. D´ebogage des Programmes Probabilistes PRISM Le Model-Checking Probabiliste PRISM PRISM est un outil de v´erification automatique de propri´et´es des mod`eles stochastiques (probabilistic model checker) . PRISM supporte plusieurs types de mod`eles stochastiques : les (DTMCs), les (CTMCs) , (MDPs) et les (PTAs). et une liste de sp´ecification du mod`ele soit : en PCTL (pour les DTMC et MDP), soit en CSL (pour les CTMC).
  • 8. D´ebogage des Programmes Probabilistes PRISM Le Model-Checking Probabiliste PRISM PRISM est un outil de v´erification automatique de propri´et´es des mod`eles stochastiques (probabilistic model checker) . PRISM supporte plusieurs types de mod`eles stochastiques : les (DTMCs), les (CTMCs) , (MDPs) et les (PTAs). et une liste de sp´ecification du mod`ele soit : en PCTL (pour les DTMC et MDP), soit en CSL (pour les CTMC). → Une propri´et´e PCTL dont la forme est : P∼p[ϕ] o`u ϕ = ϕ1Uϕ2 P=?[ϕ]
  • 9. D´ebogage des Programmes Probabilistes PRISM Le Model-Checking Probabiliste Un simple programme PRISM Une propri´et´e PCTL
  • 10. D´ebogage des Programmes Probabilistes PRISM Le Model-Checking Probabiliste Contre-exemples Probabilistes Un contre-exemple probabiliste est un ensemble de chemins representant des comportments dans le mod`ele qui satisfont la propri´et´e ϕ
  • 11. D´ebogage des Programmes Probabilistes PRISM Le Model-Checking Probabiliste Le code XML du contre-exemple g´en´er´e 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 >
  • 12. D´ebogage 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
  • 13. D´ebogage des Programmes Probabilistes PRISM Localisation des erreurs dans les programmes PRISM G´en´eration des programmes ICL La logique du choix ind´ependant (Independet Choice Logic) a ´et´e d´evelopp´ee pour raisoner sur les syst`emes multi-agents. Un progamme ICL repr´esentant un contre-exemple probabiliste est compos´e de : 1. Faits de la forme d(s, L) = D indiquant le degr´e de responsabilit´e de chaque sous formule simple extraite de la formule de propri´et´e. 2. Clauses repr´esentant les transitions dans le contre exemple probabiliste et qui ont la forme s < −s & d(s, X) = D & c(D). 3. la distribution de probabilit´es sur les choix de transitions prob c(D) = D ∗ p
  • 14. D´ebogage des Programmes Probabilistes PRISM Localisation des erreurs dans les programmes PRISM Le programme ICL propertyProb(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.
  • 15. D´ebogage des Programmes Probabilistes PRISM Localisation des erreurs dans les programmes PRISM
  • 16. D´ebogage des Programmes Probabilistes PRISM Localisation des erreurs dans les programmes PRISM R´esultat de raisonnement par abduction probabiliste
  • 17. D´ebogage des Programmes Probabilistes PRISM Localisation des erreurs dans les programmes PRISM R´esultat de raisonnement par abduction probabiliste Ce r´esultat indique que les gardes des transitions impliqu´es dans le contre exemple devront ˆetre raffin´ees par des expressions propos´ees par le raisonneur.
  • 18. D´ebogage 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
  • 19. D´ebogage des Programmes Probabilistes PRISM Etude de cas : Les VANETs Etude de cas : Les VANETs Un r´eseau ad hoc de v´ehicules ou VANET est constitu´e de v´ehicules capables de s’´echanger des informations par voie radio dans le but d’am´eliorer la s´ecurit´e routi`ere . c1 d´epasse le leader, tandis que c2 vient dans la direction oppos´ee.
  • 20. D´ebogage des Programmes Probabilistes PRISM Etude de cas : Les VANETs Etude de cas : Les VANETs Propri´et´e : Fragement du model :
  • 21. D´ebogage 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
  • 22. D´ebogage des Programmes Probabilistes PRISM Conclusion & perspectives Conclusion & perspectives Notre technique de localisation des erreurs permet en effet de faire le lien entre la v´erification, diagnostique des contre-exemples et la correction des erreurs de mani`ere automatique . Nous pr´evoyons : D´eveloppement d’une version interactive de notre outil : Fournir les localisations l’une apr`es les autres (plusieurs propri´et´es) Construction un syst`eme de marquage pour s´electionner les gardes des transitions concern´ees par le raffinement.
  • 23. D´ebogage des Programmes Probabilistes PRISM Conclusion & perspectives Bibliographie Husain Aljazzar,Florian Leitner,Stefan Leue and Dimitar DiPro - A Tool for Probabilistic Counterexample Generation Model Checking Software - 18th International SPIN Workshop, Snowbird, UT, USA, July 14-15, 2011. Proceedings Mustapha Bourahla Repairing Errors in PRISM Programs Using Probabilistic Abduction Reasoning Model and Data Engineering - 5th International Conference, MEDI 2015, Rhodes, Greece, September 26-28, 2015, Proceedings M. Kwiatkowska , G. Norman and D. Parker PRISM 4.0 : Verification of Probabilistic Real-time Systems Proc. 23rd International Conference on Computer Aided Verification (CAV’11)