A Framework for Progressive Regression Testing PLC Programs
Zeyu Lu, Zhanquan Guo · 2021 IEEE 21st International Conference on Software Quality, Reliability and Security (QRS) · 2021
The software running inside the programmable logic controllers (PLCs) may be modified to satisfy the changed specifications. As the PLC mostly operates in a safety-critical environment, it is necessary to perform regression testing for the modified program. Existing regression testing techniques for PLC programs prioritize test cases of an existing test suite to detect errors in the modified program earlier. However, it is also critical to validate whether the behavior of the modified PLC program satisfies the changed specifications. In this paper, we propose a novel regression testing framework for PLC programs. Our framework identifies the modified part using the program slicing technique and generates test cases for the program slice including textual change. The test input sequences of each slice are then exercised, and we mine temporal invariants to check whether the runtime behavior satisfies the new specifications. We evaluate the effectiveness of our framework with a real-life case. The experimental results show that the proposed framework effectively tests whether the modified PLC program matches the changed specifications.