Wang, ShaohuiAyoub, AnaheedIvanov, RadoslavSokolsky, OlegLee, Insup2023-05-222023-05-222013-04-012013-06-07https://repository.upenn.edu/handle/20.500.14332/6829Fault 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.© ACM 2013. This is the author's version of the work. It is posted here for your personal use. Not for redistribution. The definitive Version of Record was published in Proceedings of the 2nd ACM Conference on High Confidence Networked Sytsems (HiCONS), http://dx.doi.org/10.1145/2461446.2461463.CPS Formal MethodsBlame AssignmentComponent-based SystemTrace AnalysisFault DiagnosisContract-Based Blame Assignment by Trace AnalysisPresentation