Combinaison de tests et de vérification pour les CPS adaptatifs

par Jean-philippe Gros

Projet de thèse en Informatique

Sous la direction de Olga Kouchnarenko et de Frédéric Dadeau.

Thèses en préparation à Bourgogne Franche-Comté , dans le cadre de SPIM - Sciences Physiques pour l'Ingénieur et Microtechniques , en partenariat avec FEMTO-ST Franche Comté Electronique Mécanique Thermique et Optique - Sciences et Technologies (laboratoire) et de DISC - Département Informatique et Systèmes Complexes (equipe de recherche) depuis le 01-10-2017 .


  • Résumé

    Les Systèmes Cyber Physiques (CPS) sont des systèmes contrôle-commande interconnectés, successeurs des systèmes embarqués, ayant pour caractéristique le contrôle des entités physiques par le logiciel. On en trouve dans les systèmes intelligents tel que les véhicules autonomes, les smart-grids, la domotique, ou encore les systèmes robotiques. Ces systèmes peuvent être modélisés par des composants communicants dont les comportements sont le plus souvent décrits par des règles spécifiant la réaction du système aux envois de données remontées par des capteurs, et provoquant des évolutions du système (par exemple, reconfiguration de composants, mise à jour de l'étatinterne du système, etc.) Comme tous les systèmes, les CPS présentent des besoins de sûreté de fonctionnement et de sécurité . En particulier, il est nécessaire de s'assurer de la conformité du système au cahier des charges, par le biais de propriétés fonctionnelles du systèmes (invariants, propriétés temporelles), ou de propriétés de sécurité (contrôle d'accès, intégrité des informations, disponibilité des services). Dans une large majorité decas, les configurations du système sont en nombre infini et ainsi les techniques de vérification classiques, basées sur une exploration exhaustive des états du système (model-checking), sont inapplicables. La vérification à l'exécution consisteàanalyser à l'exécution (monitoring) les traces du système pour déterminer si celui-ci se comporte conformément aux exigences, formalisées par des propriétés sur ces traces. Le test actif consiste à créer des traces d'exécution spécifiques qui vont chercher à provoquer la réaction du système en vue de s'assurer de son bon fonctionnement. Nous proposons dans cette thèse de combiner des approches de vérification à l'exécution (test passif/monitoring) et de génération de tests (test actif) pour valider lessystèmes cyber-physiques. Cette combinaison s'appuiera sur un modèle du système, et un ensemble de propriétés fonctionnelles et de sécurité, exprimées dans un langage ad hoc. Ces artefacts seront ensuite utilisés pour la génération automatique de tests, en utilisant des techniques telles que le fuzzing de données, ou des critères de sélection de test structurels du modèle ou de la propriété .De plus, des techniques de vérification statiques pourront être utilisées par la validation de la cohérence globale des règles décrivant le comportement du CPS (détection de non-déterminisme, deadlocks, etc.), fournissant ainsi un retour sur l'implantation des différents composants.

  • Titre traduit

    Combining test and verification for adaptative CPS


  • Résumé

    Cyber ​​Physical Systems (CPS) are interconnected control-command systems, successors of embedded systems, whose characteristic is the control of physical entities by the software. It is found in intelligent systems such as autonomous vehicles, smart grids, home automation, or robotic systems. These systems can be modeled by communicating components whose behaviors are most often described by rules specifying the reaction of the system to the data sent by sensors, and causing evolutions of the system (for example, reconfiguration of components, upgrade day of the internal state of the system, etc.) Like all the systems, the CPS present requirements of dependability and safety. In particular, it is necessary to check the conformity of the system with the specifications, through functional properties of the systems (invariants, temporal properties), or security properties (access control, integrity of information, availability of services). In a large majority of cases, the system configurations are infinitely numerous and thus the classical verification techniques, based on an exhaustive exploration of the states of the system (model-checking), are inapplicable. The execution check consists of analyzing the traces of the system in order to determine if the system behaves in accordance with the requirements, formalized by properties on these traces. The active test consists of creating specific execution traces that will seek to provoke the reaction of the system to ensure its proper functioning. We propose in this thesis to combine verification approaches at runtime (passive test / monitoring) and test generation (active test) to validate the cyber-physical systems. This combination will be based on a system model, and a set of functional and security properties, expressed in an ad hoc language. These artifacts will then be used for automatic test generation, using techniques such as data fuzzing, or model or property structural test selection criteria. In addition, static verification techniques may be used by the validation of the overall consistency of the rules describing the behavior of the CPS (detection of non-determinism, deadlocks, etc.), thus providing a return on the implementation of the various components.