An Efficient Algorithm for Computing Causal Trace Sets in Causality Checking
Abstract
Causality Checking [LL13a] has been proposed as a finite state space exploration technique which computes ordered sequences of events that are considered to cause the violation of a reachability property. A crucial point in the implementation of Causality Checking is the computation and storage of all minimal counterexamples found during state space exploration. We refer to the set of all minimal counterexamples as a causal trace set. However, the Duplicate State Prefix Matching (DSPM) Algorithm that is currently used in Causality Checking only under-approximates the causal trace set. As we argue, without the approximation the DSPM algorithm is inefficient. We propose the, to the best of our knowledge, first efficient algorithm that precisely computes a causal trace set, avoiding approximation, called Causal Trace Backward Search (CTBS). We compare the DSPM and CTBS algorithms with respect to their worst case complexities, and by applying them to several case studies.
References
- [AL10]Aljazzar, H., Leue, S.: Directed explicit state-space search in the generation of counterexamples for stochastic model checking. IEEE Trans. Softw. Eng. 36(1), 37–60 (2010)CrossRefGoogle Scholar
- [BHK+15]Beer, A., Heidinger, S., Kühne, U., Leitner-Fischer, F., Leue, S.: Symbolic causality checking using bounded model checking. In: Fischer, B., Geldenhuys, J. (eds.) SPIN 2015. LNCS, vol. 9232, pp. 203–221. Springer, Cham (2015). https://doi.org/10.1007/978-3-319-23404-5_14CrossRefGoogle Scholar
- [BK+08]Baier, C., Katoen, J.-P., et al.: Principles of Model Checking. MIT Press (2008)Google Scholar
- [dJR10]de Jonge, M., Ruys, T.C.: The SpinJa model checker. In: van de Pol, J., Weber, M. (eds.) SPIN 2010. LNCS, vol. 6349, pp. 124–128. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-16164-3_9CrossRefGoogle Scholar
- [ES12]Edelkamp, S., Schrödl, S.: Heuristic Search - Theory and Applications. Academic Press (2012)Google Scholar
- [Fre60]Fredkin, E.: Trie memory. Commun. ACM 3(9), 490–499 (1960)CrossRefGoogle Scholar
- [Hal15]Halpern, J.Y.: A modification of the Halpern-Pearl definition of causality. In: IJCAI, pp. 3022–3033. AAAI Press (2015)Google Scholar
- [HK06]Hansen, H., Kervinen, A.: Minimal counterexamples in o(n log n) memory and o(n\(^2\)) time. In: ACSD, pp. 133–142. IEEE Computer Society (2006)Google Scholar
- [HKD09]Han, T., Katoen, J.-P., Damman, B.: Counterexample generation in probabilistic model checking. IEEE Trans. Softw. Eng. 35(2), 241–257 (2009)CrossRefGoogle Scholar
- [Hol04]Holzmann, G.J.: The SPIN Model Checker - Primer and Reference Manual. Addison-Wesley (2004)Google Scholar
- [HP05]Halpern, J.Y., Pearl, J.: Causes and explanations: a structural-model approach Part I: causes. Br. J. Phil. Sci. 56(4), 843–887 (2005)CrossRefGoogle Scholar
- [KL18]Kölbl, M., Leue, S.: Automated functional safety analysis of automated driving systems. In: Howar, F., Barnat, J. (eds.) FMICS 2018. LNCS, vol. 11119, pp. 35–51. Springer, Cham (2018). https://doi.org/10.1007/978-3-030-00244-2_3CrossRefGoogle Scholar
- [Lei15]Leitner-Fischer, F.: Causality checking of safety-critical software and systems. Ph.D. thesis, University of Konstanz, Germany (2015)Google Scholar
- [LL11]Leitner-Fischer, F., Leue, S.: Quantum: quantitative safety analysis of UML models. In: QAPL, volume 57 of EPTCS, pp. 16–30 (2011)CrossRefGoogle Scholar
- [LL13a]Leitner-Fischer, F., Leue, S.: Causality checking for complex system models. In: Giacobazzi, R., Berdine, J., Mastroeni, I. (eds.) VMCAI 2013. LNCS, vol. 7737, pp. 248–267. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-35873-9_16CrossRefzbMATHGoogle Scholar
- [LL13b]Leitner-Fischer, F., Leue, S.: Probabilistic fault tree synthesis using causality computation. IJCCBS 4(2), 119–143 (2013)CrossRefGoogle Scholar
- [LL14]Leitner-Fischer, F., Leue, S.: SpinCause: a tool for causality checking. In: SPIN, pp. 117–120. ACM (2014)Google Scholar
- [Obj17]Object Management Group: OMG Systems Modeling Language, Specification 1.5 (2017). http://www.omg.org/spec/SysML
- [SB05]Schuppan, V., Biere, A.: Shortest counterexamples for symbolic model checking of LTL with past. In: Halbwachs, N., Zuck, L.D. (eds.) TACAS 2005. LNCS, vol. 3440, pp. 493–509. Springer, Heidelberg (2005). https://doi.org/10.1007/978-3-540-31980-1_32CrossRefzbMATHGoogle Scholar
- [VGRH02]Vesely, W.E., Goldberg, F.F., Roberts, N.H., Haasl, D.F.: Fault Tree Handbook (2002)Google Scholar