Potenzielle Fehler in syntaktisch korrektem Applikationscode von Steuerungsprojekten, sogenannte „Code Smells“, können enormen Schaden verursachen – zumal sie meist erst zur Laufzeit sichtbar werden. So kann es zum Beispiel über Arrays oder Pointer fehlerhafte Speicherzugriffe geben; falsch formulierte Bedingungen können zu unerreichbarem Code führen. Die betroffenen Codestellen sind manuell nur schwer ausfindig zu machen. Die statische Codeanalyse bietet Abhilfe, indem sie den Applikationscode nach vordefinierten Regeln untersucht und problematische Stellen kenntlich macht. Zusätzlich lässt sich die Codequalität bezüglich verschiedener Metriken messen.
Die neue Version 5.0 von CODESYS Static Analysis macht es noch einfacher, den IEC-61131-3-Applikationscode zu verbessern. Integriert wurde dazu die sogenannte Konstantenpropagation, mit der sich im Code verwendete Variablenwerte vorhersagen lassen. Diese Variablenwerte nutzt das Add-on-Tool, um viele gravierende Probleme im Code bereits bei der Eingabe zu melden: So lassen sich fehlerhafte Arrayzugriffe, Divisionen durch 0 und Null-Pointer Zugriffe sehr sicher vermeiden. Das Tool wird zum Programmierassistenten, der schon während der Entwicklung „Code Smells“ erkennt und passende Quicktipps zur Korrektur bereitstellt. Darüber hinaus sorgt das neue Verfahren für deutlich zielgenauere Meldungen – und damit weniger „falsche“ Fundstellen. Außerdem sind ganz neue Checks möglich, allen voran eine Indexprüfung bei Arrayzugriffen ohne Codevergrößerung. Auch automatisch generierte Metriken helfen bei der Erhöhung der Codequalität, beispielsweise die kognitive Komplexität, die Menge kopierter Codezeilen („Klonrate“) sowie die automatische Extraktion von Methoden und Funktionen.
Das neue CODESYS Static Analysis wird auf der SPS-Messe live vorgeführt und kann im CODESYS Store erworben werden.
CODESYS auf der SPS-Messe 2023: Halle 7, Stand 677
CODESYS Group
Memminger Straße 151
87439 Kempten
Telefon: +49 (831) 54031-0
Telefax: +49 (831) 54031-50
http://www.codesys.com
Marketing
Telefon: +49 (831) 54031-17
Fax: +49 (831) 54031-50
E-Mail: r.wagner@codesys.com