Hagenberg, Lamprechtshausen: Automatisierungssoftware wird zunehmend komplexer, wodurch die Qualitätssicherung immer wichtiger wird. Deshalb haben SIGMATEK, Hersteller kompletter Automatisierungssysteme für den Maschinen- und Anlagenbau, und das Software Competence Center Hagenberg (SCCH) die Entwicklung eines Werkzeugs zur statischen Analyse von Quellcode für speicherprogrammierbare Steuerungen (SPS) gestartet.
Dieser Quellcode ist häufig in „Structured Text“, einer von vielen in der Norm IEC 61131-3 spezifizierten Programmiersprachen, verfasst, die üblicherweise für komplexere Aufgaben im Maschinen- und Anlagenbau verwendet wird. Neben “Structured Text” wird noch eine Vielzahl anderer, spezialisierter Sprachen in dieser Domäne benutzt.
Fundierte Basis
Das zu entwickelnde neue Analysewerkzeug wird auf dem bewährten Framework eknows aufbauen, das am SCCH entwickelt wurde. Dieses Framework ermöglicht die rasche Entwicklung von Software-Werkzeugen, die für die statische Analyse von Quellcode eingesetzt werden können. Neben dem ursprünglichen Einsatzgebiet von eknows, der automatischen Extraktion und Dokumentation von Fachwissen direkt aus dem Quellcode, unterstützt das Framework auch komplexe Analysen, die für die Qualitätsprüfung von Quellcode erforderlich sind.
Mängel bereits im Entwicklungsprozess erkennen
Das Analysewerkzeug wird in die objektorientierte Projektierungssoftware „LASAL CLASS“ von SIGMATEK integriert und unterstützt im ersten Schritt die Analyse von „Structured Text“ Quellcode. Dadurch können SIGMATEK-Kunden Fehler und Mängel in ihrem selbst geschriebenen Programmcode bereits während des Entwicklungsprozesses erkennen und so die Qualität des Codes verbessern. Dieser Ansatz kann dazu beitragen, Ausfallzeiten von Maschinen zu vermeiden, da Softwarefehler zum Beispiel in der Produktionskette frühzeitig erkannt und rechtzeitig behoben werden können.
Individuelle Prüfregeln steigern Codequalität
Ein weiterer Vorteil eines individuell programmierten Analysewerkzeugs ist, dass bestimmte Code-Richtlinien, unternehmenseigene Standards oder Programmierrichtlinien, die der Kunde festlegt, miteinbezogen und auch überprüft werden können. Ein Katalog an unterschiedlichen, gleichzeitig laufenden Prüfregeln analysiert die verschiedensten Aspekte des Steuerungscodes und identifiziert Qualitätsmängel oder nicht eingehaltene Richtlinien.
Das Werkzeug kann auch Metriken berechnen. Metriken sind Messgrößen, die verschiedene Aspekte der Codebase bewerten. „Die Berechnung und Auswertung dieser Metriken liefern Rückschlüsse auf die wesentlichen Qualitätsmerkmale des Codes”, erklärt der verantwortliche Projektleiter Bernhard Dorninger vom SCCH.
Mit Hilfe der statischen Analyse lassen sich Mängel und Fehler aufdecken, die mit üblichen Laufzeit-Tests oft gar nicht oder nur punktuell erkannt werden können. Beispielsweise kann über eine Regel geprüft werden, ob parallele Zugriffe auf Ressourcen gesichert implementiert wurden. Die Regel erkennt eine Verletzung dieses Programmiermusters nicht nur an einer bestimmten Stelle, sondern an allen ähnlichen Stellen in der Codebase.
„Das Analysewerkzeug, das wir mit den Expert:innen des SCCH entwickeln, verspricht echten Mehrwert für unsere Kunden. Es hilft, Fehler im Code zu finden, was wertvolle Entwicklungszeit einspart, die Codequalität steigert und potenzielle Kosten durch Fehler reduziert”, erklärt Maximilian Leschanowsky, Leiter Softwareentwicklung SIGMATEK. „Wir freuen uns auf die Zusammenarbeit, denn wir wollen gemeinsam mit dem SCCH die Leistungsfähigkeit unserer Projektierungssoftware LASAL weiter verbessern und LASAL-Anwender:innen ein sinnvolles Werkzeug zur Seite stellen. Eine Erweiterung auf weitere Programmiersprachen ist bereits im Gespräch.“
Das objektorientierte all-in-one Engineeringtool LASAL von SIGMATEK hat den Anwendernutzen im Visier. Darauf zielt auch das neue Werkzeug zur statischen Analyse von Quellcode ab.
Corporate Data SIGMATEK
SIGMATEK zählt weltweit zu den führenden Herstellern von kompletten Automatisierungssystemen für den Maschinen- und Anlagenbau. In der 35-jährigen Firmengeschichte wurden und werden in enger Abstimmung mit den Anforderungen der Kunden zukunftsweisende Technologien für die Automatisierungstechnik entwickelt. Mit einem Produktspektrum, das von Best Asset Cost bis zu High-End Anwendungen alle Anforderungen erfüllt, kann heute praktisch jede Aufgabenstellung mit Serienprodukten abgedeckt werden. Der Philosophie des Unternehmens entsprechend sind diese grundsätzlich langfristig verfügbar. Der Lieferumfang reicht von Steuerungs- und I/O-Systemen, Industrie PCs, HMIs, Motion Control und Safety bis hin zum all-in-one Engineering Tool LASAL mit objektorientierter Programmierung und dem Echtzeit-Ethernet VARAN. Neue Technologien werden laufend auf ihre Einsetzbarkeit im Automatisierungsbereich geprüft und in kürzestem „time-to-market“ in innovative Produkte umgesetzt. Das garantiert ein hochmodernes Produktspektrum aus einem Guss. Die eigene Forschung, Entwicklung und Fertigung sichern dem Salzburger Unternehmen, das weltweit 500 Mitarbeiter beschäftigt, einen Platz an der Spitze der Automatisierungstechnologie. Mit Niederlassungen in Deutschland, der Schweiz, Großbritannien, den USA, China und Korea sowie Vertriebs- und Servicepartnern in den bedeutendsten internationalen Industriezentren ist SIGMATEK weltweit immer nahe am Kunden.
Rückfragen-Kontakt:
Software Competence Center Hagenberg (SCCH)
Mag. Martina Höller, Science Communication, (+43) 50 343 882, Martina.Hoeller@scch.at, www.scch.at