A general framework for blaming in component-based systems

In component-based safety-critical embedded systems it is crucial to determine the cause(s) of the violation of a safety property, be it to issue a precise alert, to steer the system into a safe state, or to determine liability of component providers. In this paper we present an approach to blame components based on a single execution trace violating a safety property P . The diagnosis relies on counterfactual reasoning ("what would have been the outcome if component C had behaved correctly?") to distinguish component failures that actually contributed to the outcome from failures that had little or no impact on the violation of P .

[1]  Andreas Zeller Why Programs Fail , 2005 .

[2]  Insup Lee,et al.  Runtime Verification of Traces under Recording Uncertainty , 2011, RV.

[3]  Albert Benveniste,et al.  Distributed Monitoring of Concurrent and Asynchronous Systems* , 2003, Discret. Event Dyn. Syst..

[4]  Roderick Bloem,et al.  Automated error localization and correction for imperative programs , 2011, 2011 Formal Methods in Computer-Aided Design (FMCAD).

[5]  Florian Leitner-Fischer,et al.  Causality Checking for Complex System Models , 2013, VMCAI.

[6]  Rolf Drechsler,et al.  Automatic Fault Localization for Property Checking , 2008, IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.

[7]  Roderick Bloem,et al.  Finding and fixing faults , 2005, J. Comput. Syst. Sci..

[8]  Friedemann Mattern,et al.  Virtual Time and Global States of Distributed Systems , 2002 .

[9]  Lacramioara Astefanoaei,et al.  Blaming in component-based real-time systems , 2014, 2014 International Conference on Embedded Software (EMSOFT).

[10]  Joseph Y. Halpern,et al.  Causes and explanations: A structural-model approach , 2000 .

[11]  Rupak Majumdar,et al.  Cause clue clauses: error localization using maximum satisfiability , 2010, PLDI '11.

[12]  Insup Lee,et al.  A Causality Analysis Framework for Component-Based Real-Time Systems , 2013, RV.

[13]  Valtteri Niemi,et al.  Transforming Privacy Policies to Auditing Specifications , 2011, 2011 IEEE 13th International Symposium on High-Assurance Systems Engineering.

[14]  Joseph Sifakis,et al.  Composition for component-based modeling , 2002, Sci. Comput. Program..

[15]  Matthias Felleisen,et al.  Correct blame for contracts: no more scapegoating , 2011, POPL '11.

[16]  Pascal Raymond,et al.  The synchronous data flow programming language LUSTRE , 1991, Proc. IEEE.

[17]  Raymond Reiter,et al.  A Theory of Diagnosis from First Principles , 1986, Artif. Intell..

[18]  Ralf Küsters,et al.  Accountability: definition and relationship to verifiability , 2010, CCS '10.

[19]  Raja Sengupta,et al.  Diagnosability of discrete-event systems , 1995, IEEE Trans. Autom. Control..

[20]  Alex Groce,et al.  SPECIAL S ECTION O N T OOLS A ND A LGORITHMS F OR THE C ONSTRUCTION A ND A NALYSIS O F S YSTEMS , 2005 .

[21]  Matthias Kuntz,et al.  From Probabilistic Counterexamples via Causality to Fault Trees , 2011, SAFECOMP.

[22]  Colin J. Fidge,et al.  Timestamps in Message-Passing Systems That Preserve the Partial Ordering , 1988 .

[23]  Gregor Gößler,et al.  A General Trace-Based Framework of Logical Causality , 2013, FACS.

[24]  Jean-Baptiste Raclet,et al.  Causality Analysis in Contract Violation , 2010, RV.

[25]  Edward A. Lee,et al.  A framework for comparing models of computation , 1998, IEEE Trans. Comput. Aided Des. Integr. Circuits Syst..

[26]  Joost Vennekens,et al.  Counterfactual dependency and actual causation in CP-logic and structural models: a comparison , 2012, STAIRS.

[27]  Ilan Beer,et al.  Explaining Counterexamples Using Causality , 2009, CAV.