ESBMC-PLC: Formal Verification of IEC 61131-3 Ladder Diagram Programs Using SMT-Based Model Checking

· Source: Computation and Language · Field: Technology & Digital — Software Development & Engineering, Robotics & Autonomous Systems, Artificial Intelligence & Machine Learning · Depth: Expert, quick

Summary

ESBMC-PLC is the first open-source formal verifier designed to natively support IEC 61131-3 ladder diagram (LD) programs, addressing a critical gap where SMT-based model checkers previously could not process LD's graphical notation. Implemented as a new ESBMC frontend, it translates LD rungs into GOTO IR and models the PLC scan cycle as a while(true) loop with nondeterministic inputs. The tool verifies safety properties using SMT-based bounded model checking or k-induction, employing a five-property YAML language (mutual_exclusion, invariant, absence, response, reachability) instead of temporal logic. ESBMC-PLC closes two of four research gaps identified in a 2020-2026 survey of 22 studies. Evaluation on 13 benchmarks from 6 domains, including deployed CONTROLLINO PLCs and MathWorks Simulink PLC Coder, demonstrated correct classification across 61 properties, identifying 8 actionable bugs and achieving 7 unbounded k-induction proofs, all within 60ms on Apple Silicon. It stands out as the only open-source tool combining native LD, k-induction, and SMT bit-vector semantics.

Key takeaway

For automation engineers developing or maintaining safety-critical IEC 61131-3 ladder diagram programs, ESBMC-PLC provides a robust, open-source formal verification solution. You should integrate this tool into your pre-deployment validation pipeline to automatically detect bugs and ensure property adherence. Its native LD support and efficient SMT-based checking can significantly enhance the reliability of your industrial control systems, offering actionable counterexamples and unbounded proofs for critical safety properties.

Key insights

ESBMC-PLC enables formal verification of IEC 61131-3 ladder diagram programs using SMT-based model checking.

Principles

Method

ESBMC-PLC translates LD rungs to GOTO IR, models the PLC scan cycle as a while(true) loop with nondeterministic inputs, and checks safety properties via SMT-based bounded model checking or k-induction using a five-property YAML language.

In practice

Topics

Best for: Research Scientist, AI Scientist, Robotics Engineer, Automation Engineer

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by Computation and Language.