Dans ce premier TD, nous nous intéressons aux graphes de contrôle. Les graphes de contrôle sont une représentation, sous forme d'un graphe, d'un programme. Le graphe de contrôle met en œuvre plusieurs types de nœud :
Les arcs du graphe de contrôle correspondent à la possibilité d'enchainement des instructions portées par les nœuds lors d'une exécution du programme.
Dans cet exercice je vous propose un programme java et plusieurs graphes de contrôle. Toutefois certains graphes ne correspondent pas au programme, il faut donc éliminer les intrus en justifiant ces éliminations.
Les graphes portent sur la fonction play
<aside> 💡 Il est possible de séparer les conditions élémentaire d’un élément, cela permet une meilleure couverture.
</aside>
Ce graph est juste
Faux : car le noeud c correspond au test de joueur.estMort() et oblige un saut via goto
vers le System.out.print
.
<aside> 💡 Il est tout à fait possible d’avoir deux conditions sur le même arc. Mais couverture tous-chemins-indépendant impossible. Uniquement couverture tous-les-arcs.
</aside>
Ce graph est juste
Même exercice que précédemment.
Sur la fonction cribler issue de la classe ci-dessous, je vous propose 3 graphes de contrôle mais un seul est correct. Éliminez les mauvais en justifiant les éliminations.