12.07.2015 Views

Calcul des etats atteignables de programmes Esterel partitionne ...

Calcul des etats atteignables de programmes Esterel partitionne ...

Calcul des etats atteignables de programmes Esterel partitionne ...

SHOW MORE
SHOW LESS
  • 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.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!