Contracts for higher-order functions
Proceedings of the seventh ACM SIGPLAN international conference on Functional programming
Isolating cause-effect chains from computer programs
Proceedings of the 10th ACM SIGSOFT symposium on Foundations of software engineering
TACAS'08/ETAPS'08 Proceedings of the Theory and practice of software, 14th international conference on Tools and algorithms for the construction and analysis of systems
A framework for the safe interoperability of medical devices in the presence of network failures
Proceedings of the 1st ACM/IEEE International Conference on Cyber-Physical Systems
Trace alignment in process mining: opportunities for process diagnostics
BPM'10 Proceedings of the 8th international conference on Business process management
Causality analysis in contract violation
RV'10 Proceedings of the First international conference on Runtime verification
Journal of Functional Programming
Hi-index | 0.00 |
Fault diagnosis in networked systems has been an extensively studied field in systems engineering. Fault diagnosis generally includes the tasks of fault detection and isolation, and optionally recovery (FDIR). In this paper we further consider the blame assignment problem: given a system trace on which a system failure occurred and an identified set of faulty components, determine which subsets of faulty components are the culprits for the system failure. We provide formal definitions of the notion culprits and the blame assignment problem, under the assumptions that only one system trace is given and the system cannot be rerun. We show that the problem is equivalent to deciding the unsatisfiability of a set of logical constraints on component behaviors, and present the transformation from a blame assignment instance into an instance of unsatisfiability checking. We also apply the approach to a case study in the medical device interoperability scenario that has motivated our work.