Automated Test Cases Generator for IEC 61131-3 Structured Text Based Dynamic Symbolic Execution

Jianqi Shi, Yinghao Chen, Qin Li, Yanhong Huang, Yang Yang, Mengyan Zhao

Research output: Contribution to journalArticlepeer-review

2 Scopus citations

Abstract

Programmable Logic Controllers (PLCs) are specialized computers extensively utilized in industrial control fields. Since they control industrial equipment, software faults in PLCs can result in significant losses. However, current testing for PLC programs is mainly manual, and there are very few automatic testing tools. Structured Text (ST) is one of the five PLC programming languages stipulated by the IEC 61131-3 standard, suitable for writing complex control logic. This paper proposes an automatic unit test case generation framework for ST programs based on Dynamic Symbolic Execution and PLC states, as well as a supporting algorithm, and implements the PLCAutoTester tool. PLCAutoTester supports the automatic generation of ST program unit test cases that comply with statement coverage, branch coverage, and MC/DC coverage criterion. We evaluated the PLCAutoTester using 20 PLC programs and compared it with S{}_{YM}YMPLC. The experimental results show that PLCAutoTester can generate unit test cases with high coverage in a short time. And in 11 common programs, PLCAutoTester is able to generate test cases with almost the same statement coverage as S{}_{YM}YMPLC while reducing the number of test cases by 95%.

Original languageEnglish
Pages (from-to)1048-1059
Number of pages12
JournalIEEE Transactions on Computers
Volume73
Issue number4
DOIs
StatePublished - 1 Apr 2024

Keywords

  • IEC 61131-3 standard
  • auto test case generation
  • dynamic symbolic execution
  • structured text

Fingerprint

Dive into the research topics of 'Automated Test Cases Generator for IEC 61131-3 Structured Text Based Dynamic Symbolic Execution'. Together they form a unique fingerprint.

Cite this