Das sichere Programmieren von speicherprogrammierbaren Steuerungen (SPS) erreicht ein neues Level: Erstmals hat das Fraunhofer IEM in Zusammenarbeit mit Codesys Development Methoden der statischen Codeanalyse in die für SPS gängige Entwicklungsumgebung Codesys integriert. Softwareentwickler:innen in der Automatisierungsbranche erhalten so in Echtzeit Hinweise auf Fehler in ihrem Code, die sie bereits im Entwicklungsprozess korrigieren können. Die Lösung ist seit dem 23. April 2024 im Release 5.0.0.0 der Codesys Static Analysis eingebunden.
Ähnlich einer Rechtschreibprüfung zeigt die statische Codeanalyse frühestmöglich Fehler und Gefahren im Programmcode an. Außerdem macht sie unbeabsichtigte Datenflüsse oder die falsche Verwendung von Programmierschnittstellen sichtbar. Softwareentwickler:innen können ihren Code so bereits während der Programmierung prüfen und ausbessern, ohne ihn kompilieren und ausführen zu müssen. „Die Technologie der statischen Codeanalyse ist im Bereich SPS-Programmierung eine absolute Neuerung. In anderen Branchen wird sie bereits sehr oft eingesetzt. Entwicklungsprozesse werden damit effizienter – und vor allem sicherer“, betont Jan Martin Persch, Wissenschaftler am Fraunhofer IEM.
Für die clevere Echtzeit-Korrektur setzte das Forschungsinstitut auf distributive Analyseframeworks mit geringem Speicherverbrauch. Die Analysen bieten Programmierer:innen umfangreiche Konfigurationsmöglichkeiten – und sind sowohl auf die Codesys-Programmierschnittstelle als auch auf eingebundene Drittbibliotheken anwendbar.
Vorteile für die Automatisierungsbranche
In der Automatisierungsbranche gehören SPS zur Grundausstattung. Durch die zunehmende Vernetzung von Maschinen und Anlagen stehen SPS-Programmierer:innen allerdings vor Herausforderungen: Die Gefahr für sicherheitskritische Entwicklungsfehler steigt. Richtlinien wie die europäische Norm IEC 61131-3 versuchen hier, Orientierung zu geben, doch ihre Anwendung ist aufwendig und erfordert den Aufbau besonderer Expertise. So ist das Schreiben von SPS-Programmcode zu einer komplexen Aufgabe für Softwareentwickler:innen geworden. Die Codeanalyse schafft hier Abhilfe: Sie zeigt Fehler beim Schreiben des Programmcodes auf, damit diese frühestmöglich behoben werden können.
Lösung ab sofort im Release erhältlich
Codesys ist die derzeit führende hardwareunabhängige IEC 61131-3-Automatisierungssoftware zur Projektierung und Entwicklung von Steuerungsanwendungen. „Zusammen mit dem Fraunhofer IEM haben wir den Nutzen der statische Codeanalyse für unsere Software erkannt. SPS-Programmieren wird dadurch künftig deutlich fehlerfreier“, sagt Bernhard Werner, Head of Core Technology bei Codesys Development. Das Unternehmen hat die Lösung im Anschluss an das Forschungsprojekt zur Marktreife weiterentwickelt. Die statische Codeanalyse ist ab sofort im Release 5.0.0.0 der Codesys Static Analysis eingebunden.
Gefördert wurde die Zusammenarbeit der Codesys Development GmbH und des Fraunhofer IEM im Rahmen des Zentralen Innovationsprogramms Mittelstand (ZIM) des Bundesministeriums für Wirtschaft und Klimaschutz (BMWK)
https://www.iem.fraunhofer.de/de/schwe ... ty-and-security-by-design...
Bild: Das Fraunhofer IEM integrierte die statische Codeanalyse in die Automatisierungssoftware Codesys: Softwareentwickler:innen können ihren Code so bereits während der Programmierung auf Sicherheitslücken prüfen und ausbessern. iStockphoto.com / scyther5
Quelle: Fraunhofer-Institut für Entwurfstechnik Mechatronik