A Systematic Literature Review of the Characteristics of Automation Systems That Impact Debugging of PLC Software - Cabral, Jose; Zoitl, Alois (IEEE transactions on automation science and engineering, 2025)
The debugging capabilities of software development tools in the automation domain lag behind other domains. Basic capabilities from regular debuggers, such as breakpoints and step-by-step execution, are hard to find or do not support all requirements imposed by the domain. This work presents the results of a Systematic Literature Review carried out to understand the characteristics of the automation domain that influence the debugging capabilities of Programmable Logic Controller (PLC) software and to find the current state and future directions of debugging tools. The process of the review was prepared and reviewed before its execution to avoid any type of bias. The review successfully finds the major characteristics affecting the debugging of PLC software which include the presence of interconnected components and heavy machinery from different domains, the participation of different stakeholders at different phases of the development of the automation systems, and the restricted software capabilities specific to the domain. The existing debugging capabilities are mainly limited to monitoring and forcing the current state of the PLC software. However, research is being done in different areas that help debug PLC software, such as testing and simulation, and static and dynamic code analysis. The latter helps develop more powerful debugging capabilities such as the reproduction of real-time scenarios and replay debugging. The usability of debugging tools is also a subject of study in the automation domain. The work ends with an overview of future research directions to close the gap to other domains. Note to Practitioners-This paper was motivated by the limited capabilities found when developing software for Programmable Logic Controllers (PLC) used in the automation domain. A Systematic Literature Review (SLR) was conducted to understand the reasons for the limited debugging capabilities and to know the current state of debugging tools in the automation domain. For the SLR, search terms were defined and used to look for research studies in different online libraries. The result of the search was filtered based on inclusion and exclusion criteria, and the remaining resources were read in detail. From the information found, the debugging capabilities in PLCs are limited due to the machinery connected to them, the different people involved while creating automation systems, and restrictions of programming standards used to develop software for PLCs. The current debugging capabilities for PLCs are mainly limited to monitoring the current state and forcing new ones. However, research has been done to extend the debugging capabilities in the areas of testing, simulation, static and dynamic code analysis, and reproduction of real-time scenarios. This paper provides at the end research directions to further improve debugging capabilities for PLC software.