@InProceedings{BeckertUlbrichEA2015,
author = {Bernhard Beckert and Mattias Ulbrich and Birgit Vogel-Heuser and Alexander Weigl},
title = {Regression Verification for Programmable Logic Controller Software},
booktitle = {17th International Conference on Formal Engineering Methods (ICFEM 2015)},
month = nov,
year = {2015},
keywords = {IMPROVE},
url = {/improve/plc/},
pages = {234--251},
volume = {9407},
series = {LNCS},
publisher = {Springer},
doi = {10.1007/978-3-319-25423-4_15}
}
Regression Verification for Programmable Logic Controller Software
| Author(s): | Bernhard Beckert, Mattias Ulbrich, Birgit Vogel‑Heuser, and Alexander Weigl |
|---|---|
| In: | 17th International Conference on Formal Engineering Methods (ICFEM 2015) |
| Publisher: | Springer |
| Series: | LNCS |
| Volume: | 9407 |
| Year: | 2015 |
| Pages: | 234-251 |
| PDF: | /biblio/projects/improve/icfem2015.pdf |
| URL: | /improve/plc/ |
| DOI: | 10.1007/978-3-319-25423-4_15 |
Abstract
Automated production systems are usually driven by Programmable Logic Controllers~(PLCs). These systems are long-living – yet have to adapt to changing requirements over time. This paper presents a novel method for regression verification of PLC code, which allows one to prove that a new revision of the plant's software does not break existing intended behavior. Our main contribution is the design, implementation, and evaluation of a regression verification method for PLC code. We also clarify and define the notion of program equivalence for reactive PLC code. Core elements of our method are a 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 supporting invariant generation. We have successfully evaluated our approach using the Pick-and-Place Unit benchmark case study.