CERN Accelerating science

Article
Title Simplification of numeric variables for PLC model checking
Author(s) Lopez-Miguel, Ignacio D (CERN) ; Adiego, Borja Fernández (CERN) ; Tournier, Jean-Charles (CERN) ; Viñuela, Enrique Blanco (CERN) ; Rodriguez-Aguilar, Juan A
Publication 2021
Number of pages 11
In: 19th ACM-IEEE International Conference on Formal Methods and Models for System Design (MEMOCODE'21), New York, NY, United States, 20 - 22 Nov 2021, pp.10-20
DOI 10.1145/3487212.3487334
Subject category Computing and Computers
Abstract Software model checking has recently started to be applied in the verification of programmable logic controller (PLC) programs. It works efficiently when the number of input variables is limited, their interaction is small and, thus, the number of states the program can reach is not large. As observed in the large code base of the CERN industrial PLC applications, this is usually not the case: it thus leads to the well-known state-space explosion problem, making it impossible to perform model checking. One of the main reasons that causes state-space explosion is the inclusion of numeric variables due to the wide range of values they can take. In this paper, we propose an approach to discretize PLC input numeric variables (modelled as non-deterministic). This discretization is complemented with a set of transformations on the control-flow automaton that models the PLC program so that no extra behaviours are added. This approach is then quantitatively evaluated with a set of empirical tests using the PLC model checking framework PLCverif and three different state-of-the-art model checkers (CBMC, nuXmv, and Theta), showing beneficial results for BDD-based model checkers.
Copyright/License © 2021-2025 Association for Computing Machinery

Corresponding record in: Inspire


 Element opprettet 2023-05-05, sist endret 2023-05-05