EBookClubs

Read Books & Download eBooks Full Online

EBookClubs

Read Books & Download eBooks Full Online

Book Encodage Efficace des Syst  mes Critiques pour la V  rificaton Formelle par Model Checking    base de Solveurs SAT

Download or read book Encodage Efficace des Syst mes Critiques pour la V rificaton Formelle par Model Checking base de Solveurs SAT written by Guillaume Baud-Berthier and published by . This book was released on 2018 with total page 0 pages. Available in PDF, EPUB and Kindle. Book excerpt: Le développement de circuits électroniques et de systèmes logiciels critiques pour le ferroviaire ou l'avionique, par exemple, demande à être systématiquement associé à un processus de vérification formelle permettant de garantir l'exhaustivité des tests. L'approche formelle la plus répandue dans l'industrie est le Model Checking. Le succès de son adoption provient de deux caractéristiques : (i) son aspect automatique, (ii) sa capacité à produire un témoin (un scénario rejouable) lorsqu'un comportement indésirable est détecté, ce qui fournit une grande aide aux concepteurs pour corriger le problème. Néanmoins, la complexité grandissante des systèmes à vérifier est un réel défi pour le passage à l'échelle des techniques existantes. Pour y remédier, différents algorithmes de model checking (e.g., parcours symbolique des états du système, interpolation), diverses méthodes complémentaires (e.g., abstraction,génération automatique d'invariants), et de multiples procédures de décision(e.g., diagramme de décision, solveur SMT) sont envisageables.Dans cette thèse, nous nous intéressons plus particulièrement à l'induction temporelle.Il s'agit d'un algorithme de model checking très utilisé dans l'industrie pour vérifier les systèmes critiques. C'est également l'algorithme principal de l'outil développé au sein de l'entreprise Safe River, entreprise dans laquelle cette thèse a été effectuée. Plus précisément, l'induction temporelle combine deux techniques :(i) BMC (Bounded Model Checking), une méthode très efficace pour la détection debugs dans un système (ii) k-induction, une méthode ajoutant un critère de terminaison à BMC lorsque le système n'admet pas de bug. Ces deux techniques génèrent des formules logiques propositionnelles pour lesquelles il faut en déterminer la satisfaisabilité.Pour se faire, nous utilisons un solveur SAT, c'est-à-dire une procédure de décision qui détermine si une telle formule admet une solution.L'originalité des travaux proposés dans cette thèse repose en grande partie sur la volonté de renforcer la collaboration entre le solveur SAT et le model checker.Nos efforts visent à accroître l'interconnexion de ces deux modules en exploitant la structure haut niveau du problème. Nous avons alors défini des méthodes profitant de la structure symétrique des formules. Cette structure apparaît lors du dépliage successif de la relation de transition, et nous permet de dupliquer les clauses ou encore de déplier les transitions dans différentes directions (i.e., avant ou arrière). Nous avons aussi pu instaurer une communication entre le solveur SAT et le model checker permettant de : (i) simplifier la représentation au niveau du model checker grâce à des informations déduites par le solveur, et (ii) aider le solveur lors de la résolution grâce aux simplifications effectuées sur la représentation haut niveau. Une autre contribution importante de cette thèse est l'expérimentation des algorithmes proposées. Cela se concrétise par l'implémentation d'un model checker prenant en entrée des modèles AIG (And-Inverter Graph) dans lequel nous avons pu évaluer l'efficacité de nos différentes méthodes.

Book M  thode de conception de logiciel syst  me critique coupl  e    une d  marche de v  rification formelle

Download or read book M thode de conception de logiciel syst me critique coupl e une d marche de v rification formelle written by Amira Methni and published by . This book was released on 2016 with total page 0 pages. Available in PDF, EPUB and Kindle. Book excerpt: Avec l'évolution des technologies, la complexité des systèmes informatiques ne cesse de s'accroître. Parmi ces systèmes, on retrouve les logiciels critiques qui doivent offrir une garantie de sûreté de fonctionnement qui s'avère crucial et pour lesquels un dysfonctionnement peut avoir des conséquences graves. Les méthodes formelles fournissent des outils permettant de garantir mathématiquement l'absence de certaines erreurs. Ces méthodes sont indispensables pour assurer les plus hauts niveaux de sûreté. Mais l'application de ces méthodes sur un code système bas niveau se heurte à des difficultés d'ordre pratique et théorique. Les principales difficultés concernent la prise en compte des aspects bas niveau, comme les pointeurs et les interactions avec le matériel spécifique. De plus, le fait que ces systèmes soient concurrents conduit à une augmentation exponentielle du nombre de comportements possibles, ce qui rend plus difficile leur vérification. Dans cette thèse, nous proposons une méthodologie pour la spécification et la vérification par model-checking de ce type de systèmes, en particulier, ceux implémentés en C. Cette méthodologie est basée sur la traduction de la sémantique de C en TLA+, un langage de spécification formel adapté à la modélisation de systèmes concurrents. Nous avons proposé un modèle de mémoire et d'exécution d'un programme C séquentiel en TLA+. En se basant sur ce modèle, nous avons proposé un ensemble de règles de traduction d'un code C en TLA+ que nous avons implémenté dans un outil, appelé C2TLA+. Nous avons montré comment ce modèle peut s'étendre pour modéliser les programmes C concurrents et gérer la synchronisation entre plusieurs processus ainsi que leur ordonnancement. Pour réduire la complexité du model-checking, nous avons proposé une technique permettant de réduire significativement la complexité de la vérification. Cette réduction consiste pour un code C à agglomérer une suite d'instructions lors de la génération du code TLA+, sous réserve d'un ensemble de conditions.Nous avons appliqué la méthodologie proposée dans cette thèse sur un cas d'étude réel issu de l'implémentation d'un micronoyau industriel,sur lequel nous avons vérifié un ensemble de propriétés fonctionnelles. L'application de la réduction a permis de réduire considérablement le temps de la vérification, ce qui la rend utilisable en pratique.Les résultats ont permis d'étudier le comportement du système, de vérifier certaines propriétés et de trouver des bugs indétectables par des simples tests.

Book V  rification formelle  compositionnelle at automatique de syst  mes de composants

Download or read book V rification formelle compositionnelle at automatique de syst mes de composants written by Nicolas Ayache and published by . This book was released on 2010 with total page 191 pages. Available in PDF, EPUB and Kindle. Book excerpt: Aujourd’hui, de nombreux systèmes à base de composants sont critiques ; leur fonctionnement requiert un niveau de confiance maximal. Les méthodes formelles comme le Model-Checking sont utilisées pour garantir les propriétés cruciales, avec un haut degré d'automatisation. Cependant, le Model-Checking souffre d'explosion combinatoire lorsque les systèmes deviennent trop grands. Cette thèse propose un cadre de description haut niveau, où la vérification accompagne la modélisation du système, et limite le problème de l'explosion par une vérification modulaire des composants du système. L'approche se base sur les observateurs, qui s'exécutent en parallèle d’un système sans en modifier le comportement global et permettent de décrire des propriétés. La modularité de la vérification vient de la possibilité de remplacer avec sûreté tout ou partie d'un système par un autre. Ceci est rendu possible par l'utilisation conjointe du Model-Checking et de l’Interprétation Abstraite, ce qui assure le calcul d'un sur-ensemble des comportements du système. Alors que l'Interprétation Abstraite introduit des approximations, les observateurs permettent de distinguer des états qui auraient été fusionnés pour gagner la précision nécessaire. Ils pilotent les analyses en introduisant des instants d'observation. Décrits par l'utilisateur, ils permettent une mise au point interactive des états à fusionner. Notre approche s'intègre dans le cycle de développement d'un système où raffinements et abstractions sont légions. Nous définissons le langage SystemD, proche de SystemC, intégrant la description, la spécification et la vérification de systèmes, tout en restant accessible au monde de l'ingénierie.