ESBMC-Arduino addresses the limitations of existing open-source verifiers for IEC 61131-3 on microcontrollers. By introducing a hardware abstraction layer that models finite-width arithmetic, it reduces false alarm rates while verifying safety in automation programs.
ESBMC-Arduino aims to enhance formal verification for open-source programmable logic controllers (PLCs) such as Arduino-based systems. The project is particularly relevant for low-cost microcontrollers used in industrial automation, providing a sound framework for ensuring system safety in environments constrained by hardware capacities.
Existing tools like ESBMC-PLC use abstract models for verification, leading to inaccurate results when applied to resource-constrained hardware. The naive width-aware verification process resulted in a high false alarm rate, where 44% of checks flagged non-existent issues due to unrealistic input models.
ESBMC-Arduino introduces a declarative hardware abstraction layer (HAL) to alleviate these verification challenges. By accurately simulating the fixed-width arithmetic and incorporating real sensor readings through an analog-to-digital converter, the tool creates a more realistic model for testing automation software.
Testing on a corpus of 123 real programs demonstrated that the new HAL annotator eliminated all 54 previously identified false alarms. This improvement allows users to maintain robust safety proofs while effectively identifying true width-dependent defects.
The development of ESBMC-Arduino represents an important advancement in formal verification, particularly in the domain of open-hardware PLCs. By providing reliable methods for error-checking in low-cost industrial controls, it enhances the safety and reliability of modern automation systems.
β¨ This summary was generated by AI from the outlets' reporting listed below. It is not independently verified and may contain errors β check the original sources. How BrevFeed works β
ESBMC-Arduino addresses the limitations of existing open-source verifiers for IEC 61131-3 on microcontrollers. By introducing a hardware abstraction layer that models finite-width arithmetic, it reduces false alarm rates while verifying safety in automation programs.