Programmable Logic Controllers (PLCs) play an essential role in industrial automation by managing complex safety-critical processes. Ensuring the safety and correctness of PLC programs is important, particularly in safety-critical interconnected systems. Although formal verification methods, such as model checking, provide correctness guarantees, they are often impractical for complex PLC systems owing to scalability limitations. Additionally, increased system interconnectivity introduces potential security vulnerabilities. This paper proposes a Runtime Verification (RV) approach to enhance the safety, security, and correctness of PLC programs. Our solution enables users to synthesize runtime monitors through a Graphical User Interface (GUI), using C as the specification language. The synthesized monitors verify the execution of Program Organization Units (POUs) without altering the PLC control flow, ensuring compliance with the defined safety properties. By integrating RV into the PLC execution, we are able to provide a lightweight and adaptable approach for detecting violations and ensuring system reliability. We report preliminary experimental results on the application of our solution to two different case studies, one on a Piped Gas Control Subsystem (PGCS) and the other on a Temperature Control System (TCS). In both cases, we show that the computational and memory overhead introduced by our synthesized monitors is negligible, thus demonstrating that program organization units can still run effectively while being monitored.
Runtime Verification of Program Organization Units in Safe Programmable Logic Controller Systems / Unniyankal, Hisham; Ancona, Davide; Ferrando, Angelo; Parodi, Fabio; Alessi, Alessandro; Bottino, Federico. - (2025), pp. 112-118. ( 55th Annual IEEE/IFIP International Conference on Dependable Systems and Networks - Supplemental Volume, DSN-S 2025 University of Naples Federico II, ita 2025) [10.1109/dsn-s65789.2025.00050].
Runtime Verification of Program Organization Units in Safe Programmable Logic Controller Systems
Ferrando, Angelo;
2025
Abstract
Programmable Logic Controllers (PLCs) play an essential role in industrial automation by managing complex safety-critical processes. Ensuring the safety and correctness of PLC programs is important, particularly in safety-critical interconnected systems. Although formal verification methods, such as model checking, provide correctness guarantees, they are often impractical for complex PLC systems owing to scalability limitations. Additionally, increased system interconnectivity introduces potential security vulnerabilities. This paper proposes a Runtime Verification (RV) approach to enhance the safety, security, and correctness of PLC programs. Our solution enables users to synthesize runtime monitors through a Graphical User Interface (GUI), using C as the specification language. The synthesized monitors verify the execution of Program Organization Units (POUs) without altering the PLC control flow, ensuring compliance with the defined safety properties. By integrating RV into the PLC execution, we are able to provide a lightweight and adaptable approach for detecting violations and ensuring system reliability. We report preliminary experimental results on the application of our solution to two different case studies, one on a Piped Gas Control Subsystem (PGCS) and the other on a Temperature Control System (TCS). In both cases, we show that the computational and memory overhead introduced by our synthesized monitors is negligible, thus demonstrating that program organization units can still run effectively while being monitored.Pubblicazioni consigliate

I metadati presenti in IRIS UNIMORE sono rilasciati con licenza Creative Commons CC0 1.0 Universal, mentre i file delle pubblicazioni sono rilasciati con licenza Attribuzione 4.0 Internazionale (CC BY 4.0), salvo diversa indicazione.
In caso di violazione di copyright, contattare Supporto Iris




