Changes between Version 40 and Version 41 of MethoCourseTp4


Ignore:
Timestamp:
Oct 18, 2007, 10:11:52 AM (17 years ago)
Author:
alain
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MethoCourseTp4

    v40 v41  
    1717La méthode de débogage comporte 5 grandes étapes:
    1818
    19  1. Créer une situation de dysfonctionnement.
     191. Créer une situation de dysfonctionnement.
    2020     Cette étape peut être effectuée de deux manières (en général, elles sont utilisées conjointement). On peut attendre qu'un utilisateur du modèle signale un bogue. Avec cette méthode, on s'expose à des manifestations de mauvaise humeur de la part de l'utilisateur mécontent. On cherche donc à prévenir les problèmes, en développant différents scénarios (ou ''jeux de test''). Le but est alors de maximiser le ''taux de couverture'', en activant le maximum de fonctionnalités du circuit ou du système analysé.
    2121
    22  1. Identifier un comportement anormal
     221. Identifier un comportement anormal
    2323     La simulation d'un système soumis à une séquence de stimuli définit une '''séquence d'événements ordonnés par dates croissantes'''. Dans un système complexe, il n'est pas possible de vérifier toutes les valeurs de tous les signaux à tous les cycles, et on se contente d'observer certains signaux à certains instants. Par exemple, dans un système intégré sur puce contenant un coeur de processeur exécutant du code binaire stocké dans une mémoire embarquée sur la puce, on commencera par observer les valeurs affichées par le processeur sur un terminal. Dans ces conditions, il peut y avoir un retard important (plusieurs dizaines, voire plusieurs milliers de cycles) entre le moment où apparaissent les premiers symptômes observables du dysfonctionnement (affichage d'une valeur erronée), et le moment ou le système a commencé à dévier de son comportement ''normal''. Il faut commencer par vérifier que le dysfonctionnement est reproductible, et qu'en relançant la simulation, on re-observe le comportement anormal.
    2424 
    25  1. Remonter à la cause du dysfonctionnement
     251. Remonter à la cause du dysfonctionnement
    2626     C'est la partie la plus délicate.  On sait qu'à une certaine date T1 (en pratique à un certain cycle), le système est dans un état anormal, mais on ne sait généralement pas à partir de quel cycle le système a commencé à ''dérailler''. Il faut donc ''remonter le temps'' pour déterminer la date précise TC à partir de laquelle le système à quitté son fonctionnement normal pour entrer dans un état anormal. Pour cela, il faut commencer par retrouver un état normal du système, à une date T0, la plus tardive possible, mais  évidemment antérieure à T1. Quand on a déterminé les deux dates T0 et T1 Il faut analyser - cycle par cycle- le comportement du système entre T0 et T1 pour déterminer l'instant exact le système passe d'un état normal au cycle TC, à un état anormal au cycle TC+1. Rappelons que l'état d'un système synchrone est défini par l'ensemble des valeurs stockées dans les registres internes.
    2727
    28  1. Analyser la cause du dysfonctionnement
     281. Analyser la cause du dysfonctionnement
    2929     Lorsqu'on a déterminer l'instant TC, il est généralement assez facile de détarminer la cause du dysfonctionnement du matériel, en analysant les fonctions de transition des différents automates impliqués dans le fonctionnement du système.
    3030
    31  1. Corriger le bogue
     311. Corriger le bogue
    3232     Il faut prendre le temps de réfléchir sur la bonne façon de corriger le bogue, car il arrive souvent qu'une mauvaise correction d'un bogue introduise un autre dysfonctionnement. Il faut donc relancer la simulation sur l'ensemble des scénarios définis à l'étape 1, et pas seulement le scénario qui a mis en évidence le bogue corrigé. C'est ce qu'on appelle un test de ''non régression''.
    3333