![]()
Précédent : Génération de traces Remonter : Analyse
dynamique Suivant : Génération de jeux de
tests
Participants : Mireille Ducassé, Stéphane Schoenig
La technique dite de slicing consiste à identifier les instructions d'un programme nécessaires au calcul de variables données. En phase de mise au point, elle permet au programmeur de se concentrer sur les parties pertinentes du programme pour localiser les erreurs. Cette technique a été appliquée à un grand nombre de langages et nous travaillons actuellement à son adaptation à Prolog [19]. Notre algorithme tire parti de la complémentarité entre l'analyse statique et l'analyse dynamique. Les dépendances à l'intérieur des clauses sont étudiées par des techniques d'analyse statique, tandis que l'unification effective des arguments est étudiée par des techniques d'analyse dynamique. Notre algorithme est le seul des algorithmes de slicing pour Prolog qui produise des programmes exécutables. Par ailleurs, le fait de travailler dans le cadre de la programmation logique permet d'abstraire les arguments des procédures, ce que ne réalise à ce jour aucun algorithme de slicing pour programmes impératifs.