Unterstützung der SPS-Programmierung durch statische Analyse während der Programmeingabe
- Assistance for PLC programming during development based on static analysis
Obster, Mathias; Kowalewski, Stefan (Thesis advisor); Frey, Georg (Thesis advisor)
Aachen : RWTH Aachen University (2020, 2021)
Buch, Doktorarbeit
In: Aachener Informatik-Berichte 2021-01
Seite(n)/Artikel-Nr.: 1 Online-Ressource (xi, 118 Seiten) : Illustrationen
Dissertation, RWTH Aachen University, 2020
Kurzfassung
Durch Methoden der Statischen Analyse lassen sich automatisch Fehler in Programmcode finden, ohne diesen auszuführen. Darunter fällt besonders die Technik der abstrakten Interpretation bzw. der Wertemengenanalyse, welche Programmverhalten auf Basis von Mengen möglicher Variablenbelegungen untersucht, um kritische Codebereiche zu finden. Auch in Programmen für Speicherprogrammierbare Steuerungen (SPSen) kann auf diese Weise nach Fehlern gesucht werden. Hier ist die Fehlervermeidung von besonderem Interesse, da SPSen im industriellen Umfeld zur Steuerung und Überwachung von Maschinen und Anlagen eingesetzt werden. In dieser Dissertation wird untersucht, ob Statische Analyse bereits bei der Programmeingabe, also während der Entwicklung eines SPS-Programms, zur Fehlererkennung und -vermeidung beitragen kann. Dafür wurde das Analyseframework ARCADE.PLC erweitert, sodass es Analyseergebnisse in einer Entwicklungsumgebung darstellen kann, die auch in der Industrie zum Einsatz kommt. Neben den stets aktualisierten Warnungen können dem Programmierer durch diese Erweiterung zusätzlich mögliche Variablenwerte angezeigt werden, die als Zwischenprodukt in der Wertemengenanalyse berechnet werden. Ein neu eingeführter inkrementeller Ansatz kann darüber hinaus den Berechnungsaufwand verringern, der sonst durch die häufige Ausführung der Analysen entsteht. Dabei wird ausgenutzt, dass sich während der Entwicklung in kurzen Zeitintervallen üblicherweise nur kleine Änderungen für das Gesamtprogramm ergeben. Die vorgestellte Implementierung wurde anhand mehrerer Testprogramme und Szenarien für Programmänderungen überprüft, wie sie beim Schreiben von Quelltexten auftreten können. Schließlich wurde in einer Nutzerstudie mit Teilnehmern aus zwei Industrieunternehmen untersucht, ob Programmierer während der Eingabe und Bearbeitung eines SPS-Programms von Ergebnissen der Statischen Analyse profitieren können.
Einrichtungen
- Fachgruppe Informatik [120000]
- Lehrstuhl für Informatik 11 (Embedded Software) [122810]
Identifikationsnummern
- DOI: 10.18154/RWTH-2021-01742
- RWTH PUBLICATIONS: RWTH-2021-01742