000993003 001__ 993003 000993003 005__ 20241108090253.0 000993003 0247_ $$2HBZ$$aHT030854829 000993003 0247_ $$2Laufende Nummer$$a43621 000993003 0247_ $$2datacite_doi$$a10.18154/RWTH-2024-08524 000993003 037__ $$aRWTH-2024-08524 000993003 041__ $$aEnglish 000993003 082__ $$a004 000993003 1001_ $$0P:(DE-82)IDM02728$$aLutz, Marco$$b0$$urwth 000993003 245__ $$aTest suite generation and augmentation for reconfigurable industrial control software in the internet of production$$cvorgelegt von Marco Lutz geb. Grochowski, M. Sc. RWTH$$honline 000993003 260__ $$aAachen$$bRWTH Aachen University, Department of Computer Science$$c2024 000993003 300__ $$a1 Online-Ressource : Illustrationen 000993003 3367_ $$02$$2EndNote$$aThesis 000993003 3367_ $$0PUB:(DE-HGF)11$$2PUB:(DE-HGF)$$aDissertation / PhD Thesis$$bphd$$mphd 000993003 3367_ $$0PUB:(DE-HGF)3$$2PUB:(DE-HGF)$$aBook$$mbook 000993003 3367_ $$2BibTeX$$aPHDTHESIS 000993003 3367_ $$2DRIVER$$adoctoralThesis 000993003 3367_ $$2DataCite$$aOutput Types/Dissertation 000993003 3367_ $$2ORCID$$aDISSERTATION 000993003 4900_ $$aAachener Informatik Berichte$$v2024,09 000993003 502__ $$aDissertation, RWTH Aachen University, 2024$$bDissertation$$cRWTH Aachen University$$d2024$$gFak01$$o2024-09-10 000993003 500__ $$aWeitere Reihe: Informatik. - Weitere Reihe: Technical report / Department of Computer Science 000993003 5203_ $$aMit dem Aufkommen von Industrie 4.0 und der digital vernetzten Fabrik werden cyber-physische Produktionssysteme (CPPS) während ihres Lebenszyklus häufig neu konfiguriert, um sich an veränderte Kunden- oder Marktbedürfnisse anzupassen. Solche Rekonfigurationen sind nicht nur auf die Hardware beschränkt, sondern betreffen auch die Software der speicherprogrammierbaren Steuerungen (SPSen), die diese Anlagen steuern. Während die Verifizierung und das Testen zwei Techniken sind, die das Risiko von Fehlern des in der Produktion eingesetzten Quellcodes vermindern, reicht es heutzutage nicht mehr aus, sich nur auf die aus der Inbetriebnahme resultierenden Ergebnisse zu verlassen. Selbst kleine inkrementelle Rekonfigurationen an der SPS-Software während der Betriebsphase entlang des Lebenszyklus können Regressionen einführen, die von einem Entwickler schnell übersehen werden können und daher erneut sichergestellt werden müssen. Das Ziel dieser Arbeit ist es, eine „Push-Button“-Analyse für die Generierung von Testfällen nach einer Rekonfiguration zu entwerfen. Die generierten Testfälle können während der Wartung oder der virtuellen Inbetriebnahme eingespeist und überwacht werden, um die Auswirkungen der Rekonfiguration auf das CPPS durch den Entwickler zu beobachten. Um die Redundanz bei der Generierung von Testsuiten (TSG) nach solchen Rekonfigurationen zu verringern, sollen symbolische Zusammenfassungen von bestimmten Teilen des Programms zwischen- gespeichert und wiederverwendet werden. Die Testsuite-Erweiterung (TSA) stellt einen unverzichtbaren Teil des Regressionstestens (RT) dar, da die Abwesenheit von Regressionen nach einer Rekonfiguration nicht ausschließlich durch die alte Testsuite gewährleistet werden kann. Die TSA lenkt die TSG in Richtung des rekonfigurierten Verhaltens und erhöht so die Chancen Testfälle abzuleiten, die die Verhaltensunterschiede zwischen beiden Programmversionen aufdecken. Zu diesem Zweck beinhaltet der Beitrag dieser Arbeit- Heuristiken für die Skalierbarkeit der bestehenden TSG für SPS-Software,- die Wiederverwendung von symbolischen Zusammenfassungen während der TSG von rekonfigurierter SPS-Software,- und das Konzept der Ausführung der alten und der neuen Version einer rekonfigurierten SPS-Software in einer Programmversion für die TSA.Diese Ansätze werden anhand ausgewählter domänenspezifischer Benchmarks mit unterschiedlichem Schwierigkeitsgrad aus der PLCopen Safety Suite und der Pick and Place Unit (PPU) bewertet.$$lger 000993003 520__ $$aWith the advent of Industry 4.0 and the digitally networked factory, cyber-physical production systems (CPPSs) are reconfigured frequently along their life cycle to adapt to changing customer requirements or market demands. Such reconfigurations are not limited to the hardware but also affect the software of the programmable logic controllers (PLCs) driving these plants. While verification and testing are two techniques capable of alleviating the risk of introducing errors in production code, it is no longer sufficient to rely only on the results obtained by these methods during the commissioning of the CPPS. Even minor incremental reconfigurations to the PLC’s software during the operational phase of the life cycle may introduce regressions that can be quickly overlooked by a developer and therefore need to be reverified. The goal of this thesis is to provide a “push button” analysis for generating test cases after a static reconfiguration. The generated test cases can be injected and monitored during maintenance or virtual commissioning to observe the impact of reconfiguration on the CPPS by the developer. In order to reduce redundancy in test suite generation (TSG) after a structural reconfiguration to the PLC software, symbolic summaries of specific parts of the program should be cached and reused to benefit subsequent analysis. While automatic TSG is an established technique used to generate test suites adhering to structural coverage metrics of PLC software, the generated test suite might not anymore be adequate enough with regards to the coverage metric to ensure the absence of regressions. An indispensable part of regression testing (RT) is test suite augmentation (TSA), which guides the TSG toward the reconfigured behavior and increases the chances of deriving difference-revealing test cases which expose behavioral differences between the program and its reconfigured version. The derivation of new test cases is required to uncover potential regressions after a reconfiguration. To this end, the contributions of this thesis include- heuristics for the scalability of the existing TSG for PLC software,- the reuse of symbolic summaries during TSG of reconfigured PLC software,- and the concept of executing the old and new version of a reconfigured PLC software in one unified program version during TSA. These contributions are evaluated on selected domain-specific benchmarks of varying difficulty from the PLCopen Safety suite and the Pick and Place Unit (PPU).$$leng 000993003 588__ $$aDataset connected to Lobid/HBZ 000993003 591__ $$aGermany 000993003 7001_ $$0P:(DE-82)IDM06137$$aKowalewski, Stefan$$b1$$eThesis advisor$$urwth 000993003 7001_ $$0P:(DE-82)996194$$aHerber, Paula$$b2$$eThesis advisor 000993003 8564_ $$uhttps://publications.rwth-aachen.de/record/993003/files/993003.pdf$$yOpenAccess 000993003 8564_ $$uhttps://publications.rwth-aachen.de/record/993003/files/993003_source.zip$$yRestricted 000993003 909CO $$ooai:publications.rwth-aachen.de:993003$$pdnbdelivery$$pdriver$$pVDB$$popen_access$$popenaire 000993003 915__ $$0StatID:(DE-HGF)0510$$2StatID$$aOpenAccess 000993003 9141_ $$y2024 000993003 9101_ $$0I:(DE-588b)36225-6$$6P:(DE-82)IDM02728$$aRWTH Aachen$$b0$$kRWTH 000993003 9101_ $$0I:(DE-588b)36225-6$$6P:(DE-82)IDM06137$$aRWTH Aachen$$b1$$kRWTH 000993003 9201_ $$0I:(DE-82)122810_20140620$$k122810$$lLehrstuhl für Embedded Software (Informatik 11)$$x0 000993003 9201_ $$0I:(DE-82)120000_20140620$$k120000$$lFachgruppe Informatik$$x1 000993003 961__ $$c2024-11-07T09:09:30.495421$$x2024-09-13T15:19:10.014889$$z2024-11-07T09:09:30.495421 000993003 9801_ $$aFullTexts 000993003 980__ $$aI:(DE-82)120000_20140620 000993003 980__ $$aI:(DE-82)122810_20140620 000993003 980__ $$aUNRESTRICTED 000993003 980__ $$aVDB 000993003 980__ $$abook 000993003 980__ $$aphd