Un des plus grands défis dans la conception matérielle et logicielle est de s’assurer que le système soit exempt d’erreurs. La moindre erreur dans les systèmes embarqués réactifs peut avoir des conséquences désastreuses et coûteuses pour certains projets critiques, nécessitant parfois de gros investissements pour les corriger, ou même conduire à un échec spectaculaire et inattendu du système. Prévenir de tels phénomènes en identifiant tous les comportements critiques du système est une tâche assez délicate. Les tests en industrie sont globalement non exhaustifs, tandis que la vérification formelle souffre souvent du problème d’explosion combinatoire. Nous présentons dans ce contexte une nouvelle approche de génération exhaustive de jeux de test qui combine les principes du test industriel et de la vérification formelle académique. Notre approche construit un modèle générique du système étudié à partir de l’approche synchrone. Le principe est de se limiter à l’analyse locale des sous-espaces significatifs du modèle. L’objectif de notre approche est d’identifier et extraire les conditions préalables à l’exécution de chaque chemin du sous-espace étudie. Il s’agit ensuite de générer tout les cas de tests possibles à partir de ces pré-conditions. Notre approche présente un algorithme de quasi-aplatissement plus simple et efficace que les techniques existantes ainsi qu’une compilation avantageuse favorisant une réduction considérable du problème de l’explosion de l’espace d’états. Elle présente également une manipulation symbolique des données numériques permettant un test plus expressif et concret du système étudié. / One of the biggest challenges in hardware and software design is to ensure that a system is error-free. Small errors in reactive embedded systems can have disastrous and costly consequences for a project. Preventing such errors by identifying the most probable cases of erratic system behavior is quite challenging. Indeed, tests in industry are overall non-exhaustive, while formal verification in scientific research often suffers from combinatorial explosion problem. We present in this context a new approach for generating exhaustive test sets that combines the underlying principles of the industrial test technique and the academic-based formal verification approach. Our approach builds a generic model of the system under test according to the synchronous approach. The goal is to identify the optimal preconditions for restricting the state space of the model such that test generation can take place on significant subspaces only. So, all the possible test sets are generated from the extracted subspace preconditions. Our approach exhibits a simpler and efficient quasi-flattening algorithm compared with existing techniques and a useful compiled internal description to check security properties and reduce the state space combinatorial explosion problem. It also provides a symbolic processing technique of numeric data that provides a more expressive and concrete test of the system. We have implemented our approach on a tool called GAJE. To illustrate our work, this tool was applied to verify an industrial project on contactless smart cards security.
Identifer | oai:union.ndltd.org:theses.fr/2014NICE4149 |
Date | 18 December 2014 |
Creators | Abdelmoula, Mariem |
Contributors | Nice, Auguin, Michel, Gaffé, Daniel |
Source Sets | Dépôt national des thèses électroniques françaises |
Language | French |
Detected Language | French |
Type | Electronic Thesis or Dissertation, Text |
Page generated in 0.0027 seconds