CODESYS ist die marktführende, von Geräteherstellern unabhängige Automatisierungsplattform nach IEC 61131-3. Bereits seit 2016 bietet das Kemptener Softwareunternehmen ein Add-on zur statischen Codeanalyse an, das die Entwicklung von Steuerungslogik komfortabel unterstützt. Dieses Tool wurde nun grundlegend überarbeitet und verbessert.
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 kann im CODESYS Store erworben werden.