🤖 AI Summary
Verifying functional correctness after PLC software upgrades remains challenging. To address this, this paper proposes a model-inclusion-based verification method: sequential function charts (SFCs) of both legacy and upgraded PLC programs are automatically translated into Petri net models, followed by rigorous inclusion checking via symbolic path equivalence theory. The key contribution is a novel, efficient symbolic path equivalence decision algorithm, enabling the development of a lightweight, custom Petri net inclusion checker. Evaluated on 80 real-world industrial benchmarks from the OSCAT library, the approach demonstrates strong scalability and high precision. Compared to the state-of-the-art tool verifAPS, it achieves an average 3.9× speedup while maintaining soundness and completeness. This significantly enhances the automation level and practical applicability of PLC upgrade verification.
📝 Abstract
Upgradation of Programmable Logic Controller (PLC) software is quite common to accommodate evolving industrial requirements. Verifying the correctness of such upgrades remains a significant challenge. In this paper, we propose a verification-based approach to ensure the correctness of the existing functionality in the upgraded version of a PLC software. The method converts the older and the newer versions of the sequential function chart (SFC) into two Petri net models. We then verify whether one model is contained within another, based on a novel containment checking algorithm grounded in symbolic path equivalence. For this purpose, we have developed a home-grown Petri net-based containment checker. Experimental evaluation on 80 real-world benchmarks from the OSCAT library highlights the scalability and effectiveness of the framework. We have compared our approach with verifAPS, a popular tool used for software upgradation, and observed nearly 4x performance improvement.