Data Flow Testing for PLC Programs via Dynamic Symbolic Execution

Weigang He,Xia Mao,Ting Su,Yanhong Huang,Jianqi Shi
DOI: https://doi.org/10.1109/APSEC53868.2021.00023
2021-01-01
Abstract:Programmable logic controllers (PLCs) are broadly used in the safety-critical industrial field, which requires high reliability to avoid catastrophes. Data flow testing (DFT) focuses on data flow relationships in a program and has a stronger fault-detection ability than other control flow-based testing. However, there is no automated testing tool supporting DFT for PLC programs. Hence, we propose an automated data flow testing framework for PLC programs. Our DFT framework is based on dynamic symbolic execution (DSE). Considering the cyclic execution feature of PLC programs, our approach needs reachable states which can be provided by branch testing. Besides, our approach improves testing performance through a novel guided path search algorithm. Furthermore, we evaluate our approach on several programs to demonstrate that this approach is practical and effective.
What problem does this paper attempt to address?