A general trace-based causality analysis framework for component systems - TEL - Thèses en ligne Accéder directement au contenu
Thèse Année : 2016

A general trace-based causality analysis framework for component systems

Un cadre général de causalité basé sur les traces pour des systèmes à composants

Yoann Geoffroy
  • Fonction : Auteur
  • PersonId : 775236
  • IdRef : 223368555

Résumé

In a concurrent, possibly embedded and distributed system, it is often crucial to be able to determine which component(s) caused an observed failure - be it for debugging, to establish the contractual liability of component providers, or to isolate or reset the failing component. The diagnostic relies on analysis of logical causality to distinguish component failures that actually contributed to the outcome from failures that had little or no impact on the system-level failure . More precisely, necessary causality of a component C characterizes cases when a system-level property P would not have been violated if the specification S of C had been fulfilled. Sufficient causality characterizes cases where P would have been violated even if all the components but C had fulfilled their specifications. In other words, the violation of S by C was sufficient to violate P. The initial approach to causality analysis on execution traces was formalized for the BIP interaction model. The goal of this project is to formalize a similar reasoning for functional programs where functions are equipped with invariants describing the expected behavior. The analysis should take a (faulty) execution trace and the invariants and determine which function(s) caused the failure. The results should be implemented and applied to case studies from the medical and automotive domains.
Dans des système concurrent, potentiellement embarqués et distribué, il est souvent crucial d'être capable de déterminer quel(s) composant(s) est(sont) responsable(s) d'une défaillance, que ce soit pour debbuger, établir une responsabilité contractuelle du fournisseur des composant, ou pour isolée, ou redémarrer les composants défaillants. Le diagnostic s'appuie sur l'analyse de la causalité logique pour distinguer les composants ayant contribué à la défaillance du système, de ceux ayant eu peu ou pas d'impact sur cette dernière. Plus précisément, un composant C est une cause nécessaire, si la propriété P du système n'aurait pas été violée si C s'était comporté selon sa spécification S. De même, C est une cause suffisante de la violation de P (défaillance du système) si P aurait été violée, même si tous les composants, sauf C, avait respecté leur spécification. Autrement dit, la violation de S, du composant C, est suffisante pour violer P. L'approche a été formalisée, initialement, pour des modèle d'interaction BIP. Le but de ce projet est de formaliser un raisonnement similaire pour des programmes fonctionnels, où les fonctions sont équipées d'invariant décrivant leur comportement attendu. L'analyse prendrait en entrée une trace d'exécution (défaillante) et les invariant, et déterminerait quelle(s) fonction(s) est(sont) une(des) cause(s) de la défaillance. L'approche devra être implémenté et appliquée à des cas d'études provenant du domaine médical, ou de l'automatique.
Fichier principal
Vignette du fichier
GEOFFROY_2016_diffusion.pdf (1.28 Mo) Télécharger le fichier
Origine : Version validée par le jury (STAR)
Loading...

Dates et versions

tel-01681432 , version 1 (11-01-2018)
tel-01681432 , version 2 (12-01-2018)

Identifiants

  • HAL Id : tel-01681432 , version 2

Citer

Yoann Geoffroy. A general trace-based causality analysis framework for component systems. Multimedia [cs.MM]. Université Grenoble Alpes, 2016. English. ⟨NNT : 2016GREAM074⟩. ⟨tel-01681432v2⟩
222 Consultations
153 Téléchargements

Partager

Gmail Facebook X LinkedIn More