12

Click here to load reader

Exécution Symbolique

Embed Size (px)

Citation preview

Page 1: Exécution Symbolique

Exposé sur :L’exécution symbolique

Préparer par :

ILHEM DAOUDI

Université Mohamed Chérif Messadiaــ Souk-Ahras ــ

Page 2: Exécution Symbolique

Plan :1-Introduction.

2-Exécution symbolique .

3-Génération de tests basée sur les chemins .

4-Le prédicat de chemin .

5-Exemple de l’exécution symbolique .

6-Avantage de l’exécution symbolique :

7-Inconvénients de l’exécution symbolique .

8-Conclusion .

9-Références .

Page 3: Exécution Symbolique

1-Introduction:

• Exécution symbolique a rassemblé beaucoup d'attention au

cours des dernières années comme une technique efficace

pour produire haute couverture et pour trouver des erreurs

profondes dans un complexe.

• Dans cet exposé, j'essaie de donne un aperçu des techniques

d'exécution symboliques modernes.

Page 4: Exécution Symbolique

2-Exécution symbolique :

• Exécution symbolique est une technique de test de logiciel qui est utile pour faciliter la génération des données de test et pour prouver la qualité du programme .

• L'idée clé derrière l'exécution symbolique est à utiliser comme des valeurs d'entrée des valeurs symboliques au lieu des données réelles, et représenter les valeurs des variables du programme comme des expressions symboliques. En conséquence, les sorties calculées par un programme sont exprimé en fonction des entrées symboliques.

Page 5: Exécution Symbolique

3-Génération de tests basée sur les chemins:

1 choisir un chemin π du CFG (le graphe de flot de controle).

2 calculer un de ses prédicats de chemin π.

3 résoudre : une solution = une DT exerçant le chemin π.

4 si couverture incomplète, goto 1.

Page 6: Exécution Symbolique

4-Le prédicat de chemin:

• Prédicat de chemin (entrées Y0 et Z0).

• W1 = Y0 + 1 ∧ X2 = W1 + 3 ∧ X2 < 2 × Z0 ∧

X2 ≥ Z0

• Projection sur les entrées:

• Y0 + 4 < 2 × Z0 ∧ Y0 + 4 ≥ Z0

Loc Instruction

0 input(y,z)

1 w := y+1

2 x := w + 3

3 if (x < 2 * z) (branche True)

4 if (x < z) (branche False)

Page 7: Exécution Symbolique

5-Exemple de l’exécution symbolique:

Page 8: Exécution Symbolique

6-Avantage de l’exécution symbolique :

• Preuves symboliques peuvent être générales .

• preuves symboliques impliquent généralement moins de travail que

d'autres méthodes .

• Preuves symboliques sont moins d'erreurs que d'exécuter les cas de

test .

Page 9: Exécution Symbolique

7-Inconvénients de l’exécution symbolique :

• Exécution symbolique est difficile à utiliser , sauf pour des problèmes

algorithmiques et de substitution .

• Preuves d'exécution symboliques sont manuelles et donc sujette aux

erreurs .

• exécution symbolique est difficile à utiliser avec une logique

complexe .

Page 10: Exécution Symbolique

8-CONCLUSION:

• Exécution symbolique est maintenant la technique sous-jacente de plusieurs outils de test populaires .

• Outils d'exécution symboliques sont maintenant utilisées dans l'industrie pratique chez Microsoft ( pex6 , SAGE [ 29 ] , et YOGI7 préfix [ 10 ] ) , IBM ( Apollo [ 2 ] ) , la NASA et fujitsu ( symbolique pathfinder ) , et forment également un élément clé de la publicité suites d'outils de test de parasoft et d'autres sociétés .

Page 11: Exécution Symbolique

9-Références:

• HTTP://RESEARCH.MICROSOFT.COM/EN-US/UM/PEOPLE/PG/PUBLIC_PSFILES/ICSE2011.PDF

• HTTP://PERSO.ENS-LYON.FR/CHRISTOPHE.ALIAS/VERIF/BARDIN.PDF

• HTTP://WWW.CS.UMD.EDU/~MWH/SE-TUTORIAL/SYMBOLIC-EXEC.PDF

• HTTP://WEB.CS.IASTATE.EDU/~WEILE/CS641/9.SYMBOLICEXECUTION.PDF

• Disciplined Software Engineering lecture #13 /Software Engineering Institute Carnegie Mellon University Pittsburgh, PA 15213 / Sponsored By The U.S. Department Of Defense.

Page 12: Exécution Symbolique