Recent Advances in Causality Checking Florian Leitner-Fischer - - PowerPoint PPT Presentation

recent advances in causality checking
SMART_READER_LITE
LIVE PREVIEW

Recent Advances in Causality Checking Florian Leitner-Fischer - - PowerPoint PPT Presentation

Recent Advances in Causality Checking Florian Leitner-Fischer University of Konstanz Department of Computer and Information Science Chair for Software Engineering software software engineering engineering Joint work


slide-1
SLIDE 1 software engineering software engineering Recent Advances in Causality Checking
  • Florian Leitner-Fischer
  • University of Konstanz
Department of Computer and Information Science Chair for Software Engineering
slide-2
SLIDE 2 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Joint work with 2 Stefan Leue Chair for Software Engineering Department of Computer and Information Science University of Konstanz Germany
slide-3
SLIDE 3 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Analysis of Complex Systems ♦ A Railroad Crossing 3 Train Car Gate
slide-4
SLIDE 4 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Model Checking
  • M |= S
model of the software (transition system,
 Kripke structure) model checking 
 algorithm

  • requirement specification
(assertions, temporal
 logic, automata) Train Approaching On Crossing Left Crossing Gate Open Closed Car Approaching On Crossing Left Crossing there is never a train in the crossing at the same time when there is a car in the 
 crossing ϕ = = ☐¬(Tc ÆCc) state space search (depth-first or breadth-first search) 4
slide-5
SLIDE 5 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Model Checking ♦ Model Checking Result 8 the path into a property violating state – called an error path or counterexample 5 Ca Ta Cc Gc Tc
slide-6
SLIDE 6 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering ♦ Railroad Crossing Example: 8 11 error-paths (only considering shortest paths) Interpreting Counterexamples 6 [Ta, Gf, Tc, Ca, Cc] [Ca, Ta, Gf, Tc, Cc] [Ta, Gf, Ca, Cc, Tc] [Ta, Ca, Gf, Cc, Tc] [Ca, Ta, Gf, Cc, Tc] [Ta, Ca, Cc, Gf, Tc] [Ca, Ta, Cc, Gf, Tc] [Ca, Cc, Ta, Gf, Tc] [Ta, Ca, Cc, Gc, Tc] [Ca, Ta, Cc, Gc, Tc] [Ca, Cc, Ta, Gc, Tc] ...
  • all lead into a property violating state
(accident)
  • for debugging
  • what is the cause?
  • manual analysis
  • tedious
  • error prone
  • essentially impossible
  • ur goal:
  • algorithmic causality
computation
slide-7
SLIDE 7 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering ♦ Models of Causality ♦ Causality Computation ♦ Probability Computation for Causal Events ♦ Evaluation ♦ Conclusion 7
slide-8
SLIDE 8 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering ♦ Models of Causality ♦ Causality Computation ♦ Probability Computation for Causal Events ♦ Evaluation ♦ Conclusion 8
slide-9
SLIDE 9 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Causality ♦ (Naive) Lewis Counterfactual Reasoning c is causal for e (effect / hazard) if, had c not happened, then e would not have happened either 8 logical foundation of some software debugging techniques, e.g., – delta debugging – nearest neighbor techniques 8 best suited for single cause failures 9
slide-10
SLIDE 10 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Halpern / Pearl Structural Equation Model (SEM) ♦ Key Ideas 8 events are represented by boolean variables – specified using structural equations 8 computes minimal boolean disjunction and conjunction of causal events 8 causal dependency of events represented by causal networks 8 reference 10
slide-11
SLIDE 11 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Halpern / Pearl Structural Equation Model (SEM) ♦ Actual Causality Conditions 8 AC1: ensures that there exists a world where the boolean combination of causal events c and the effect e occur 8 AC2: 1. if at least one of the causal events does not happen, the effect e does not happen 2. if the causal events occur, the occurrence of other events can not prevent the effect 8 AC3: no subset of the causal events satisfies AC1 and AC2 (minimality) 11
slide-12
SLIDE 12 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering ♦ Models of Causality ♦ Causality Computation ♦ Probability Computation for Causal Events ♦ Evaluation ♦ Conclusion 12
slide-13
SLIDE 13 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Causality Computation ♦ Main Goal: 
 Computation of Causal Events for a Property Violation 8 Consider event order as causal factor 8 Make Structural Equation Model applicable to transition systems 13 Florian Leitner-Fischer and Stefan Leue: Probabilistic Fault Tree Synthesis using Causality Computation, accepted for publication in International Journal of Critical Computer-Based Systems, 2013.
slide-14
SLIDE 14 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Event Order Logic ♦ Boolean Event Occurrence Conditions 8 a Æ b, a Ç b, ¬ a ♦ Event Ordering Conditions 8 a b – a and b occur, and a occurs before b ♦ Interval Operators 8 a b – a occurs until eventually b will hold in every state 8 a b – a always holds until eventually b occurs 8 a b c – in the interval delimited by a and c, b always holds ♦ Model-theoretic Semantics 8 Event Order Logic is an LTL 14
slide-15
SLIDE 15 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Event Order Logic ♦ Representation of Traces ♦ Representation of Ordering Constraints 15
slide-16
SLIDE 16 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Causality Computation ♦ Probabilistic Causality Computation 8 Probabilistic counterexample and good paths are computed 8 Causality computation performed as post-processing step 8 Benefit – Probability for combination of events causing a hazard 8 Disadvantage – Probability computation for each bad trace necessary ♦ Causality Checking 8 Integrated into the state space search algorithms used for model checking 8 Benefit – Enables on-the-fly causality computation 8 Disadvantage – No probabilities available 16
slide-17
SLIDE 17 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Algorithmics ♦ Sub-Executions 8 reduce checks for AC1-AC3 and OC1 to sub-execution tests – ordered and unordered sub-execution operators 8 proofs in the paper ♦ Implementation Variants 8 Off-line Enumeration – enumerate traces – store counterexamples and good traces – perform sub-trace computations 8 On-the-fly – use DFS / BFS on the state space i store paths in an adequate data structure as you obtain them * subset graph 17 Florian Leitner-Fischer and Stefan Leue: Causality Checking for Complex System Models, In Proceedings of 14th International Conference on Verification, Model Checking, and Abstract Interpretation (VMCAI2013), LNCS, Volume 7737, Springer Verlag, 2013.
slide-18
SLIDE 18 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Result of Causality Checking ♦ Railroad Crossing 8 represented as Dynamic Fault Tree 18 crash
slide-19
SLIDE 19 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering ♦ Models of Causality ♦ Causality Computation ♦ Probability Computation for Causal Events ♦ Evaluation ♦ Conclusion 19
slide-20
SLIDE 20 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Causality Classes ♦ Disjuncts of the EOL formula represent „causality classes“ 8 Causality Classes: Represent a class of execution paths where the same events in the same order cause an effect or hazard 20 Ta, Ca, Gf, Cc, Tc Ca, Ta, Gf, Cc, Tc … Ta, Ca, Gc, Gc, Tc Ca, Ta, Cc, Gc, Tc … Causality
 Class 1 Causality
 Class 2
slide-21
SLIDE 21 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Probability Computation for Causality Classes ♦ Key Idea: 1. Compute causal events using causality checking 2. Compute probabilities of the paths represented by a causality class 8 Causality classes are represented by alternating automata 8 Alternating automata are translated to PRISM Causality Class Modules 8 PRISM Causality Class Modules are synchronized with the PRISM model 21 Florian Leitner-Fischer and Stefan Leue: On the Synergy of Probabilistic Causality Computation and Causality Checking, In Proceedings of International SPIN Symposium on Model Checking

  • f Software, Stony Brook, NY, USA, 2013 (to appear).
  • EOL Formula
Causality Classes Alternating Automata PRISM Causality Class Module
slide-22
SLIDE 22 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering ♦ Models of Causality ♦ Causality Computation ♦ Probability Computation for Causal Events ♦ Evaluation ♦ Conclusion 22
slide-23
SLIDE 23 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Experimental Evaluation ♦ Combined Approach: 8 Causality Checking + Probability Computation for Causality Classes ♦ Combined Apporach outperforms Probabilistic Causality Computation 23
slide-24
SLIDE 24 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering ♦ Models of Causality ♦ Causality Computation ♦ Probability Computation for Causal Events ♦ Evaluation ♦ Conclusion 24
slide-25
SLIDE 25 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering Conclusion ♦ Causality Checking 8 technique complementing model checking – aim: algorithmic support for the debugging of models 8 defined / adopted causality model 8 proposed implementation 8 probability computation for causality classes 8 applicable to non-trivial case studies ♦ Future Work 8 causality checking at the limits of scalability – dealing with incomplete information 8 causality checking in a symbolic environment 8 specific adaptions to functional safety analysis – minimal cut sets – root, common and cascading causes 25
slide-26
SLIDE 26 www.se.uni-konstanz.de Chair for Software Engineering – F. Leitner-Fischer software engineering 26

?