TY - GEN
T1 - Proving equivalence between control software variants for Programmable Logic Controllers
T2 - 20th IEEE International Conference on Emerging Technologies and Factory Automation, ETFA 2015
AU - Ulewicz, Sebastian
AU - Vogel-Heuser, Birgit
AU - Ulbrich, Mattias
AU - Weigl, Alexander
AU - Beckert, Bernhard
N1 - Publisher Copyright:
© 2015 IEEE.
PY - 2015/10/19
Y1 - 2015/10/19
N2 - Automated production systems are usually driven by Programmable Logic Controllers (PLCs). These systems are long-living and have high requirements for software quality to avoid downtimes, damaged product and harm to personnel. While commissioning multiple systems of similar type, pragmatic adjustments of the software are often necessary, which results in two or more similar variants of initially identical software. For further evolution of the software, an equivalence analysis of the software's behavior is beneficial to merge divergent development branches into a single program version. This paper presents a novel method for regression verification of PLC code, which allows one to prove that two variants of a plant's software behave identically in specified situations, despite being implemented differently. For this, a regression verification method for PLC code was designed, implemented and evaluated. The notion of program equivalence for reactive PLC code is clarified and defined. Core elements of the method are the translation of PLC code into the SMV input language for model checkers, the adaptation of the coupling invariants concept to reactive systems, and the implementation of a toolchain using a model checker. The approach was successfully evaluated using the Pick-and-Place Unit benchmark case study.
AB - Automated production systems are usually driven by Programmable Logic Controllers (PLCs). These systems are long-living and have high requirements for software quality to avoid downtimes, damaged product and harm to personnel. While commissioning multiple systems of similar type, pragmatic adjustments of the software are often necessary, which results in two or more similar variants of initially identical software. For further evolution of the software, an equivalence analysis of the software's behavior is beneficial to merge divergent development branches into a single program version. This paper presents a novel method for regression verification of PLC code, which allows one to prove that two variants of a plant's software behave identically in specified situations, despite being implemented differently. For this, a regression verification method for PLC code was designed, implemented and evaluated. The notion of program equivalence for reactive PLC code is clarified and defined. Core elements of the method are the translation of PLC code into the SMV input language for model checkers, the adaptation of the coupling invariants concept to reactive systems, and the implementation of a toolchain using a model checker. The approach was successfully evaluated using the Pick-and-Place Unit benchmark case study.
KW - Formal verification
KW - Manufacturing automation
KW - Software maintenance
KW - Software quality
UR - http://www.scopus.com/inward/record.url?scp=84952932557&partnerID=8YFLogxK
U2 - 10.1109/ETFA.2015.7301603
DO - 10.1109/ETFA.2015.7301603
M3 - Conference contribution
AN - SCOPUS:84952932557
T3 - IEEE International Conference on Emerging Technologies and Factory Automation, ETFA
BT - Proceedings of 2015 IEEE 20th Conference on Emerging Technologies and Factory Automation, ETFA 2015
PB - Institute of Electrical and Electronics Engineers Inc.
Y2 - 8 September 2015 through 11 September 2015
ER -