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 components. 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.
The PhD thesis encompasses the following directions of work.
Study existing work on causality analysis.
Counterfactual reasoning ("what would have been the outcome if component C had behaved correctly ?") inherently suffers from inconsistencies between the observed, real behavior and the hypothetical behavior, e.g. due to side effects of C’s behavior. The PhD student will develop solutions to alleviate these issues in order to improve the precision of causality analysis.
Implementation details of components may be hidden but some behaviors may be known to be more likely than others. A probabilistic component model will allow to determine the probability of counterfactual scenarios so as to achieve a quantitative notion of causality. This will also better reflect legal interpretations of causality.
Implement the results and apply them to case studies from the medical and automotive domains. This goal may require the development of efficiently verifiable approximations of the proposed results.
Further details can be found at http://www.inria.fr/institut/recrut...
Required skills :
Knowledge of formal methods (model-checking, static analysis) and good programming skills are required.
Please apply online by May 4, 2012 at http://www.inria.fr/institut/recrut...