Open this publication in new window or tab >>2026 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]
Programmable Logic Controllers (PLCs), which are specialized computers used to control machines and processes in industrial settings, play a vital role in the automation industry. Testing these systems to identify faults during the development phase, especially for safety-critical applications such as crane control in ports or train control systems, is crucial to ensuring the system's safety in operation. Current PLC testing practices are mostly manual, and it has been a challenge for both practitioners and researchers to develop robust, applicable test automation techniques and tools that are relevant in practice. This thesis proposes test automation solutions for PLC programs, which can improve current testing practices by augmenting manual testing. We first propose a method for selecting an appropriate test automation framework for PLCs, derived from a grey literature review and a set of empirically validated evaluation criteria. To achieve practical integration of test automation solutions, we design a method and tool, PyLC+, for automated program-to-program translation from PLC to Python. Our tool automatically translates a PLC program into executable Python code, and then verifies the latter against given assertions, using an automated Python program verifier called Nagini. PyLC+ then uses metaheuristic algorithms for automated test generation. In addition, we introduce a domain-specific LLM, PyLC-M1, which serves as an interactive test-automation assistant within PyLC+. It assists the generation of verification harnesses for formal PLC analysis while operating entirely in secure, offline environments. Investigating the applicability of a well-known syntax notation pattern for semi-formal requirements specification, called Easy Approach to Requirements Syntax, for specification-based testing through a controlled experiment is another contribution of this thesis. The applicability and efficiency of the proposed testing and verification solutions in this thesis have been evaluated on real-world industrial use cases.
Abstract [sv]
Programmerbara logikstyrenheter (PLC), som är specialiserade datorer som används för att styra maskiner och processer i industriella miljöer, spelar en viktig roll inom automationsindustrin. Att testa dessa system för att identifiera fel under utvecklingsfasen, särskilt för säkerhetskritiska applikationer som kranstyrning i hamnar eller tågstyrningssystem, är avgörande för att säkerställa systemets säkerhet i drift. Nuvarande PLC-testmetoder är mestadels manuella, och det har varit en utmaning för både praktiker och forskare att utveckla robusta, tillämpliga testautomationstekniker och verktyg som är relevanta i praktiken. Denna avhandling föreslår testautomationslösningar för PLC-program, vilka kan förbättra nuvarande testmetoder genom att utöka manuell testning. Vi föreslår först en metod för att välja ett lämpligt testautomationsramverk för PLC, härlett från en grå litteraturgenomgång och en uppsättning empiriskt validerade utvärderingskriterier. För att uppnå praktisk integration av testautomationslösningar designar vi en metod och ett verktyg, PyLC+, för automatiserad program-till-program-översättning från PLC till Python. Vårt verktyg översätter automatiskt ett PLC-program till körbar Python-kod och verifierar sedan det senare mot givna påståenden med hjälp av en automatiserad Python-programverifierare som heter Nagini. PyLC+ använder sedan metaheuristiska algoritmer för automatiserad testgenerering. Dessutom introducerar vi en domänspecifik LLM, PyLC-M1, som fungerar som en interaktiv testautomationsassistent inom PyLC+. Den hjälper till att generera verifieringsverktyg för formell PLC-analys samtidigt som den arbetar helt i säkra offline-miljöer. Att undersöka tillämpligheten av ett välkänt syntaxnotationsmönster för semiformell kravspecifikation, kallat Easy Approach to Requirements Syntax, för specifikationsbaserad testning genom ett kontrollerat experiment är ytterligare ett bidrag från denna avhandling. Tillämpligheten och effektiviteten hos de föreslagna test- och verifieringslösningarna i denna avhandling har utvärderats på verkliga industriella användningsfall.
Place, publisher, year, edition, pages
Västerås: Mälardalen University, 2026
Series
Mälardalen University Press Dissertations, ISSN 1651-4238 ; 456
Keywords
Test Automation, PLC, Python, PyLC+, Embedded Systems
National Category
Computer Sciences
Research subject
Computer Science
Identifiers
urn:nbn:se:mdh:diva-74961 (URN)978-91-7485-744-3 (ISBN)
Public defence
2026-01-22, Case, Mälardalens universitet, Västerås, 13:15 (English)
Opponent
Supervisors
2025-12-092025-12-092026-01-02Bibliographically approved