Calcul des etats atteignables de programmes Esterel partitionne ...
Calcul des etats atteignables de programmes Esterel partitionne ...
Calcul des etats atteignables de programmes Esterel partitionne ...
- No tags were found...
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
1.4. TRAVAUX RELIÉS 7l’hypothèse d’un opérateur parallèle asynchrone. Cette hypothèse ne permet malheureusementpas d’appliquer ces résultats au cas d’<strong>Esterel</strong> où l’exécution <strong>de</strong> tâches en parallèle est synchrone.Certains travaux visent à optimiser le calcul <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> afin <strong>de</strong> converger le plusrapi<strong>de</strong>ment possible vers les états directement concernés par une propriété donnée [13, 79]. Lebut est <strong>de</strong> déterminer le plus rapi<strong>de</strong>ment possible si cette propriété n’est pas vérifiée par leprogramme analysé.Autour du vérificateur formel Murϕ [32, 45], <strong>de</strong> nombreux travaux visant à améliorer le calcul <strong><strong>de</strong>s</strong>états <strong>atteignables</strong> ont été menés. L’idée d’utiliser <strong><strong>de</strong>s</strong> dépendances fonctionnelles entre les variablesdu <strong>programmes</strong> a été introduite dans [46, 47] et améliorée dans [48]. La métho<strong>de</strong> consisteà définir la valeur <strong>de</strong> certaines variables en fonctions d’autres variables indépendantes. Dès lors,le calcul <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> peut être réalisé à partir <strong><strong>de</strong>s</strong> variables indépendantes seulement.Dans [49], la métho<strong>de</strong> consiste à exploiter les symétries dans la <strong><strong>de</strong>s</strong>cription <strong><strong>de</strong>s</strong> <strong>programmes</strong>.L’introduction d’un type particulier permet au programmeur <strong>de</strong> définir <strong><strong>de</strong>s</strong> équivalences entreles états du programme. Par la suite, lors <strong>de</strong> l’analyse du programme, il suffit d’explorer un seulétat par classe d’équivalence. Cette métho<strong>de</strong> permet <strong>de</strong> réduire la taille <strong><strong>de</strong>s</strong> BDDs utilisés parle vérificateur Murϕ.Certaines étu<strong><strong>de</strong>s</strong> visent à approcher le calcul <strong><strong>de</strong>s</strong> états <strong>atteignables</strong>. Dans [69] Ravi et Somenzicalculent une sous-approximation <strong>de</strong> l’espace <strong><strong>de</strong>s</strong> états <strong>atteignables</strong>. La <strong>de</strong>nsité d’un BDDse mesure en divisant le nombre d’états encodés par le nombre <strong>de</strong> noeuds <strong>de</strong> ce BDD. A chaqueétape <strong>de</strong> calcul, lorsque les BDDs atteignent une taille trop importante, les branches les moins<strong>de</strong>nses sont supprimées. Ceci permet d’obtenir <strong><strong>de</strong>s</strong> BDDs plus petits en conservant un maximumd’états <strong>atteignables</strong>. D’autres travaux s’appuient sur une surapproximation du calcul <strong><strong>de</strong>s</strong>états <strong>atteignables</strong> [37, 38, 63]. L’intérêt <strong>de</strong> ces métho<strong><strong>de</strong>s</strong> est <strong>de</strong> garantir certaines propriétés <strong><strong>de</strong>s</strong><strong>programmes</strong>. Si tous les états calculés vérifient ces propriétés alors tous les états <strong>atteignables</strong>aussi. Dans le cas contraire, une analyse plus fine est nécessaire pour déterminer si les états quiinvali<strong>de</strong>nt ces propriétés sont réellement <strong>atteignables</strong>.Le calcul <strong><strong>de</strong>s</strong> états <strong>atteignables</strong> à base <strong>de</strong> BDDs a également été adapté pour permettrel’analyse <strong>de</strong> <strong>programmes</strong> C. Dans [33], Edwards et al. ont réalisé l’analyse <strong>de</strong> petits <strong>programmes</strong>même si le passage à l’échelle <strong>de</strong>meure incertain. Dans [8, 9], Ball et Rajamani présententun vérificateur capable d’analyser <strong><strong>de</strong>s</strong> <strong>programmes</strong> C booléens. Alors que le calcul <strong><strong>de</strong>s</strong> états<strong>atteignables</strong> s’effectue sur <strong><strong>de</strong>s</strong> <strong>programmes</strong> finis, ce vérificateur autorise <strong><strong>de</strong>s</strong> appels <strong>de</strong> fonctionrécursifs et non bornés.Les travaux les plus proches techniquement sont ceux <strong>de</strong> Yannis Bres. La thèse [17] présente<strong><strong>de</strong>s</strong> métho<strong><strong>de</strong>s</strong> d’abstraction permettant <strong>de</strong> simplifier le calcul <strong><strong>de</strong>s</strong> états <strong>atteignables</strong>. Plus précisément,ces techniques visent à remplacer certaines variables d’états par <strong>de</strong> simples variablesd’entrée ou bien à utiliser une logique <strong>de</strong> Scott trivaluée. Ceci permet <strong>de</strong> supprimer <strong><strong>de</strong>s</strong> blocsentiers <strong>de</strong> programme lors <strong>de</strong> son analyse. Cette métho<strong>de</strong> conduit à une surapproximation <strong>de</strong>l’espace <strong><strong>de</strong>s</strong> états <strong>atteignables</strong>, mais grâce à cela, Yannis Bres à réussi à vali<strong>de</strong>r un certainnombre <strong>de</strong> propriétés. Concrètement, ces travaux et les nôtres ont été intégrés au sein d’unmême logiciel.