  Testing PLC and DCS control logic in industrial automation is laborious and
challenging since appropriate test cases are often complex and difficult to
formulate. Researchers have previously proposed several automated test case
generation approaches for PLC software applying symbolic execution and
search-based techniques. Often requiring formal specifications and performing a
mechanical analysis of programs, these approaches may uncover specific
programming errors but sometimes suffer from state space explosion and cannot
process rather informal specifications. We proposed a novel approach for the
automatic generation of PLC test cases that queries a Large Language Model
(LLM) to synthesize test cases for code provided in a prompt. Experiments with
ten open-source function blocks from the OSCAT automation library showed that
the approach is fast, easy to use, and can yield test cases with high statement
coverage for low-to-medium complex programs. However, we also found that
LLM-generated test cases suffer from erroneous assertions in many cases, which
still require manual adaption.
