Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Localisation d'erreurs 
Une approc...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Plan 
1 Introduction 
2 Approche 
...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Introduction 
Motivation 
Les outi...
cation des portions erronees du code est 
complexe pour le programmeur 
! Necessite de mettre en place des outils de local...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Introduction 
Motivation 
Les outi...
cation des portions erronees du code est 
complexe pour le programmeur 
! Necessite de mettre en place des outils de local...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Introduction 
Le probleme 
Entrees...
cation : la 
postcondition POST violee 
Un contre-exemple CE fourni 
par un outil BMC 
Sorties 
Un ensemble reduit 
d'inst...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Introduction 
Le probleme 
Entrees...
cation : la 
postcondition POST violee 
Un contre-exemple CE fourni 
par un outil BMC 
Sorties 
Un ensemble reduit 
d'inst...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Introduction 
Les idees 
1 Le prog...
cation sont traduits en 
contraintes numeriques 
3 CE un contre-exemple, PATH un chemin errone 
4 Le CSP C = CE [ PATH [ P...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Introduction 
Les idees 
1 Le prog...
cation sont traduits en 
contraintes numeriques 
3 CE un contre-exemple, PATH un chemin errone 
4 Le CSP C = CE [ PATH [ P...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Introduction 
Les idees 
1 Le prog...
cation sont traduits en 
contraintes numeriques 
3 CE un contre-exemple, PATH un chemin errone 
4 Le CSP C = CE [ PATH [ P...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Introduction 
Les idees 
1 Le prog...
cation sont traduits en 
contraintes numeriques 
3 CE un contre-exemple, PATH un chemin errone 
4 Le CSP C = CE [ PATH [ P...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Approche 
Les MCS: Minimal Correct...
nition 
Soit C un ensemble de contraintes infaisable 
M  C est un MCS , 
8 : 
M  C 
Sol( X; CnM;D )6= ; 
@C00  M : Sol( X;...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Approche 
Les MCS: Minimal Correct...
nition 
Soit C un ensemble de contraintes infaisable 
M  C est un MCS , 
8 : 
M  C 
Sol( X; CnM;D )6= ; 
@C00  M : Sol( X;...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Approche 
Les MCS: Minimal Correct...
nition 
Soit C un ensemble de contraintes infaisable 
M  C est un MCS , 
8 : 
M  C 
Sol( X; CnM;D )6= ; 
@C00  M : Sol( X;...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Approche 
Les MCS: Minimal Correct...
nition 
Soit C un ensemble de contraintes infaisable 
M  C est un MCS , 
8 : 
M  C 
Sol( X; CnM;D )6= ; 
@C00  M : Sol( X;...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Approche 
Algorithme (LocFaults) 
...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Approche 
Algorithme (LocFaults) 
...
Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives 
Exemple 
Calcul de la valeur absol...
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs
Prochain SlideShare
Chargement dans…5
×

LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs

1 179 vues

Publié le

Lorsqu'un programme est non-conforme vis-à-vis de sa spécification ou dit erroné, fournir des informations utiles à la localisation des erreurs est une tâche importante pour débugger le programme mais complexe en même temps. Le but est de fournir un ensemble réduit d'instructions suspectes permettant de comprendre l'origine des erreurs dans le programme. Dans ce papier nous proposons une nouvelle approche basée sur les contraintes pour l'aide à la localisation d'erreurs pour lequel un contre-exemple est disponible, c'est-à-dire que l'on dispose d'un cas de test prouvant la non-conformité.
A partir du contre-exemple, notre approche génère un système de contraintes pour chaque chemin du CFG (Control Flow Graphe) pour lequel au plus k instructions conditionnelles sont suspectées. Après, elle calcule les MCS (Minimal Correction Subsets) d'une taille bornée pour chaque chemin erroné. Le retrait d'un de ces ensemble de contraintes produit un MSS (Maximal Satisfiable Subset), un ensemble qui ne viole plus la postcondition. Nous adaptons pour cela un algorithme générique proposé par Liffiton et Sakallah afin de pouvoir traiter plus efficacement des programmes avec des calculs numériques. Nous présentons les résultats de nos expérimentations qui sont très encourageants.

Publié dans : Sciences
0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
1 179
Sur SlideShare
0
Issues des intégrations
0
Intégrations
60
Actions
Partages
0
Téléchargements
5
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

LocFaults, une approche bornée à base de contraintes pour l'aide à la localisation d'erreurs

  1. 1. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Localisation d'erreurs Une approche bornee a base de contraintes pour l'aide a la localisation d'erreurs Bekkouche Mohammed, Collavizza Helene, Rueher Michel Univ. Nice Sophia Antipolis, CNRS, I3S, UMR 7271 06900 Sophia Antipolis, France JFPC 2014 June 19, 2014 Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 1/23
  2. 2. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Plan 1 Introduction 2 Approche 3 Exemple 4 Etat de l'art 5 Experimentation 6 Conclusion et perspectives Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 2/23
  3. 3. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Introduction Motivation Les outils de BMC(Bounded Model Checking) et de test generent un ou plusieurs contre-exemples Un contre-exemple fournit une trace d'execution La trace du contre-exemple est souvent longue et compliquee a comprendre L'identi
  4. 4. cation des portions erronees du code est complexe pour le programmeur ! Necessite de mettre en place des outils de localisation pour assister le developpeur dans cette t^ache Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 3/23
  5. 5. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Introduction Motivation Les outils de BMC(Bounded Model Checking) et de test generent un ou plusieurs contre-exemples Un contre-exemple fournit une trace d'execution La trace du contre-exemple est souvent longue et compliquee a comprendre L'identi
  6. 6. cation des portions erronees du code est complexe pour le programmeur ! Necessite de mettre en place des outils de localisation pour assister le developpeur dans cette t^ache Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 3/23
  7. 7. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Introduction Le probleme Entrees Un programme non conforme vis-a-vis de sa speci
  8. 8. cation : la postcondition POST violee Un contre-exemple CE fourni par un outil BMC Sorties Un ensemble reduit d'instructions suspectes permettant au programmeur de comprendre l'origine de ses erreurs Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 4/23
  9. 9. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Introduction Le probleme Entrees Un programme non conforme vis-a-vis de sa speci
  10. 10. cation : la postcondition POST violee Un contre-exemple CE fourni par un outil BMC Sorties Un ensemble reduit d'instructions suspectes permettant au programmeur de comprendre l'origine de ses erreurs Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 4/23
  11. 11. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Introduction Les idees 1 Le programme est modelise en un CFG en forme DSA 2 Le programme et sa speci
  12. 12. cation sont traduits en contraintes numeriques 3 CE un contre-exemple, PATH un chemin errone 4 Le CSP C = CE [ PATH [ POST est inconsistant Points cles Quelles sont les instructions erronees dans PATH qui rendent C inconsistant ? Quels sous-ensembles retirer pour que C devienne faisable ? Quels chemins explorer ? ! chemin du CE, deviations a partir du CE Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 5/23
  13. 13. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Introduction Les idees 1 Le programme est modelise en un CFG en forme DSA 2 Le programme et sa speci
  14. 14. cation sont traduits en contraintes numeriques 3 CE un contre-exemple, PATH un chemin errone 4 Le CSP C = CE [ PATH [ POST est inconsistant Points cles Quelles sont les instructions erronees dans PATH qui rendent C inconsistant ? Quels sous-ensembles retirer pour que C devienne faisable ? Quels chemins explorer ? ! chemin du CE, deviations a partir du CE Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 5/23
  15. 15. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Introduction Les idees 1 Le programme est modelise en un CFG en forme DSA 2 Le programme et sa speci
  16. 16. cation sont traduits en contraintes numeriques 3 CE un contre-exemple, PATH un chemin errone 4 Le CSP C = CE [ PATH [ POST est inconsistant Points cles Quelles sont les instructions erronees dans PATH qui rendent C inconsistant ? Quels sous-ensembles retirer pour que C devienne faisable ? Quels chemins explorer ? ! chemin du CE, deviations a partir du CE Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 5/23
  17. 17. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Introduction Les idees 1 Le programme est modelise en un CFG en forme DSA 2 Le programme et sa speci
  18. 18. cation sont traduits en contraintes numeriques 3 CE un contre-exemple, PATH un chemin errone 4 Le CSP C = CE [ PATH [ POST est inconsistant Points cles Quelles sont les instructions erronees dans PATH qui rendent C inconsistant ? Quels sous-ensembles retirer pour que C devienne faisable ? Quels chemins explorer ? ! chemin du CE, deviations a partir du CE Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 5/23
  19. 19. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Approche Les MCS: Minimal Correction Subset MCS: De
  20. 20. nition Soit C un ensemble de contraintes infaisable M C est un MCS , 8 : M C Sol( X; CnM;D )6= ; @C00 M : Sol( X; CnC00;D ) = ; MCS: Exemple C = fc1 : i = 0; c2 : v = 5; c3 : w = 6; c4 : z = i + v + w; c5 : ((z = 0 _ i6= 0) ^ (v 0) ^ (w 0))g est inconsistant C a 4 MCS: fc1g, fc4g, fc5g,fc2; c3g Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 6/23
  21. 21. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Approche Les MCS: Minimal Correction Subset MCS: De
  22. 22. nition Soit C un ensemble de contraintes infaisable M C est un MCS , 8 : M C Sol( X; CnM;D )6= ; @C00 M : Sol( X; CnC00;D ) = ; MCS: Exemple C = fc1 : i = 0; c2 : v = 5; c3 : w = 6; c4 : z = i + v + w; c5 : ((z = 0 _ i6= 0) ^ (v 0) ^ (w 0))g est inconsistant C a 4 MCS: fc1g, fc4g, fc5g,fc2; c3g Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 6/23
  23. 23. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Approche Les MCS: Minimal Correction Subset MCS: De
  24. 24. nition Soit C un ensemble de contraintes infaisable M C est un MCS , 8 : M C Sol( X; CnM;D )6= ; @C00 M : Sol( X; CnC00;D ) = ; MCS: Exemple C = fc1 : i = 0; c2 : v = 5; c3 : w = 6; c4 : z = i + v + w; c5 : ((z = 0 _ i6= 0) ^ (v 0) ^ (w 0))g est inconsistant C a 4 MCS: fc1g, fc4g, fc5g,fc2; c3g Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 6/23
  25. 25. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Approche Les MCS: Minimal Correction Subset MCS: De
  26. 26. nition Soit C un ensemble de contraintes infaisable M C est un MCS , 8 : M C Sol( X; CnM;D )6= ; @C00 M : Sol( X; CnC00;D ) = ; MCS: Exemple C = fc1 : i = 0; c2 : v = 5; c3 : w = 6; c4 : z = i + v + w; c5 : ((z = 0 _ i6= 0) ^ (v 0) ^ (w 0))g est inconsistant C a 4 MCS: fc1g, fc4g, fc5g,fc2; c3g Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 6/23
  27. 27. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Approche Algorithme (LocFaults) Calcul des MCS sur le chemin du CE Exploration DFS du CFG en propageant CE et en deviant au plus k instructions conditionnelles c1; ::; ck P: contraintes de propagation issues du CE (de la forme variable = constante) C: contraintes du chemin jusqu'a ck Si P satisfait POST: * f:c1; ::;:ckg est une correction, * Les MCS de C [ f:c1; ::;:ckg sont des corrections Borne pour les MCS calcules et les conditions deviees Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 7/23
  28. 28. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Approche Algorithme (LocFaults) Calcul des MCS sur le chemin du CE Exploration DFS du CFG en propageant CE et en deviant au plus k instructions conditionnelles c1; ::; ck P: contraintes de propagation issues du CE (de la forme variable = constante) C: contraintes du chemin jusqu'a ck Si P satisfait POST: * f:c1; ::;:ckg est une correction, * Les MCS de C [ f:c1; ::;:ckg sont des corrections Borne pour les MCS calcules et les conditions deviees Bekkouche Mohammed, Collavizza Helene, Rueher Michel | Localisation d'erreurs 7/23
  29. 29. Introduction Approche Exemple Etat de l'art Experimentation Conclusion et perspectives Exemple Calcul de la valeur absolue de i-j 1 c l a s s AbsMinus f 2 / r e t u r n s j i

×