Visual counterexample explanation for model checking with Oeritte

Despite being one of the most reliable approaches for ensuring system correctness, model checking requires auxiliary tools to fully avail. In this work, we tackle the issue of its results being hard to interpret and present OERITTE, a tool for automatic visual counterexample explanation for function block diagrams. To learn what went wrong, the user can inspect a parse tree of the violated LTL formula and a table view of a counterexample, where important variables are highlighted. Then, on the function block diagram of the system under verification, they can receive a visualization of causality relationships between the calculated values of interest and intermediate results or inputs of the function block diagram. Thus, OERITTE serves to decrease formal model and specification debugging efforts along with making model checking more utilizable for complex industrial systems.

[1]  Kim Björkman,et al.  Model checking as a protective method against spurious actuation of industrial control systems , 2017 .

[2]  Chao Wang,et al.  Whodunit? Causal Analysis for Counterexamples , 2006, ATVA.

[3]  Alex Groce,et al.  Understanding Counterexamples with explain , 2004, CAV.

[4]  Tamás Bartha,et al.  Formal Verification of Safety Functions by Reinterpretation of Functional Block Based Specifications , 2008, FMICS.

[5]  Marco Pistore,et al.  NuSMV 2: An OpenSource Tool for Symbolic Model Checking , 2002, CAV.

[6]  Valeriy Vyatkin,et al.  Counterexample visualization and explanation for function block diagrams , 2018, 2018 IEEE 16th International Conference on Industrial Informatics (INDIN).

[7]  Valeriy Vyatkin,et al.  Counterexample-guided simulation framework for formal verification of flexible automation systems , 2015, 2015 IEEE 13th International Conference on Industrial Informatics (INDIN).

[8]  Karsten Loer,et al.  An integrated framework for the analysis of dependable interactive systems (IFADIS): Its tool support and evaluation , 2006, Automated Software Engineering.

[9]  Víctor M. González Suárez,et al.  Applying Model Checking to Industrial-Sized PLC Programs , 2015, IEEE Transactions on Industrial Informatics.

[10]  Ilan Beer,et al.  Explaining counterexamples using causality , 2009, Formal Methods in System Design.

[11]  Edward A. Lee,et al.  Introduction to Embedded Systems - A Cyber-Physical Systems Approach , 2013 .

[12]  Karen M. Feigh,et al.  Example of a Complementary Use of Model Checking and Agent-Based Simulation , 2013, 2013 IEEE International Conference on Systems, Man, and Cybernetics.

[13]  Alex Groce,et al.  What Went Wrong: Explaining Counterexamples , 2003, SPIN.

[14]  Markus Hartikainen,et al.  Practical applications of model checking in the Finnish nuclear industry , 2017 .

[15]  Joseph Y. Halpern A Modification of the Halpern-Pearl Definition of Causality , 2015, IJCAI.

[16]  Junbeom Yoo,et al.  FBDVerifier: Interactive and Visual Analysis of Counterexample in Formal Verification of Function Block Diagram , 2010, J. Res. Pract. Inf. Technol..

[17]  Stephan Merz,et al.  Model Checking , 2000 .

[18]  Stefan Leue,et al.  Counterexample Explanation by Anomaly Detection , 2012, SPIN.

[19]  Virginie Wiels,et al.  Paths to Property Violation: A Structural Approach for Analyzing Counter-Examples , 2010, 2010 IEEE 12th International Symposium on High Assurance Systems Engineering.

[20]  Shingo Yamaguchi,et al.  A support tool to design IoT services with NuSMV , 2017, 2017 IEEE International Conference on Consumer Electronics (ICCE).

[21]  Alexander Ek Explanation of Counterexamples in the Context of Formal Verification , 2016 .

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

[23]  Anna Slobodová,et al.  Replacing Testing with Formal Verification in Intel CoreTM i7 Processor Execution Engine Validation , 2009, CAV.