Formal Verification of Complex Properties on PLC Programs

Formal verification has become a recommended practice in the safety-critical application areas. However, due to the complexity of practical control and safety systems, the state space explosion often prevents the use of formal analysis. In this paper we extend our former verification methodology with effective property preserving reduction techniques. For this purpose we developed general rule-based reductions and a customized version of the Cone of Influence (COI) reduction. Using these methods, the verification of complex requirements formalised with temporal logics (e.g. CTL, LTL) can be orders of magnitude faster. We use the NuSMV model checker on a real-life PLC program from CERN to demonstrate the performance of our reduction techniques.

[1]  Bruce H. Krogh,et al.  Formal verification of PLC programs , 1998, Proceedings of the 1998 American Control Conference. ACC (IEEE Cat. No.98CH36207).

[2]  V. Gourcuff,et al.  Improving large-sized PLC programs verification using abstractions , 2008 .

[3]  Keith D. Cooper,et al.  Engineering a Compiler , 2003 .

[4]  Olaf Stursberg,et al.  Verification of PLC Programs Given as Sequential Function Charts , 2004, SoftSpez Final Report.

[5]  Hans-Dieter Ehrich,et al.  Model Checking PLC Software Written in Function Block Diagram , 2010, 2010 Third International Conference on Software Testing, Verification and Validation.

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

[7]  Thomas Noll,et al.  Speeding Up the Safety Verification of Programmable Logic Controller Code , 2013, Haifa Verification Conference.

[8]  Dániel Darvas,et al.  Transforming PLC Programs into Formal Models for Verification Purposes , 2013 .

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

[10]  Benjamin Bradu,et al.  UNICOS EVOLUTION: CPC VERSION 6 , 2011 .

[11]  Doaa Soliman,et al.  Verification and validation of safety applications based on PLCopen safety function blocks , 2011 .

[12]  Philippe Schnoebelen,et al.  Towards the automatic verification of PLC programs written in Instruction List , 2000, Smc 2000 conference proceedings. 2000 ieee international conference on systems, man and cybernetics. 'cybernetics evolving to systems, humans, organizations, and their complex interactions' (cat. no.0.

[13]  Martin Große-Rhode Integration of Software Specification Techniques for Applications in Engineering , 2004, Lecture Notes in Computer Science.

[14]  Joseph Sifakis,et al.  Tools and Applications II: The IF Toolset , 2004 .

[15]  Stefan Kowalewski,et al.  Counterexample-Guided Abstraction Refinement for PLCs , 2010, SSV.

[16]  Kim G. Larsen,et al.  A Tutorial on Uppaal , 2004, SFM.