Effizient gestaltet die Axivion Bauhaus Suite auch die Klon-Erkennung, also das Auffinden lexikalischer und syntaktischer Duplikate im C-, C++- und C#-Code. Das Klon-Managementsystem hilft den Phoenix-Contact-Teams nicht nur dabei, neue 1:1-Klone zu vermeiden, sondern vor allem auch potenzielle Fehler im Legacy Code gegebenenfalls an mehreren Stellen zu eliminieren.
Die schnellen und erkennbaren Erfolge bedeuten für die Entwickler bei Phoenix Contact eine Motivation. Anhand der Analysen der Axivion Bauhaus Suite verstehen und erkennen sie den Wert der Architektur als Werkzeug und dokumentieren jetzt ihre Programmierungen noch konsequenter. Und sie sichern mit der Entwicklung konsistenter und homogener UML-Modelle die langfristig beherrschbare Weiterentwicklung von Safety-relevanten als auch nicht-sicherheitskritischen Produkten.
Die Analysen der Axivion Bauhaus Suite unterstützen außerdem das tägliche Reflektieren zur Verbesserung der Code-Qualität jedes einzelnen Entwicklers. Dank der positiven Fehlerkultur bei Phoenix Contact und der einfach im Arbeitsablauf integrierbaren Designreviews hat jeder Mitarbeiter den Ehrgeiz, einen »sauberen« Code zu entwickeln und gemeinsam die Softwarequalität zu verbessern. Ein Arbeitskreis mit »Axivion Key Usern« stimmt sich dazu regelmäßig ab und informiert die Teams. Bei Support- und sonstigen Fragen stehen den Entwicklern Ansprechpartner bei Axivion hilfreich zur Seite.
Phoenix Contact hat die Axivion Bauhaus Suite bereits seit 2013 im Einsatz: Die Toolsuite wurde sowohl im Embedded-Umfeld mit C und C++ als auch einem PC-Software-Projekt mit C# ausgiebig getestet. Die Ergebnisse daraus waren positiv, sodass Phoenix Contact die Nutzung jetzt sukzessive in immer mehr Bereichen ausrollt – ganz im Sinne der »Clean Code«-Initiative des Unternehmens. »Wir sind uns einig, dass die Axivion Bauhaus Suite bei Projekten mit langen Lebenszyklen ein wichtiger Baustein ist«, sagt Detlev Kuschke, Executive Vice President, Phoenix Contact Software GmbH. »In Zukunft werden wir sie in allen unseren neuen Software-Projekten einsetzen.«
Software-Erosion aktiv bekämpfen
Die Axivion Bauhaus Suite ist eine Toolsuite für die automatisierte statische Analyse zur aktiven Bekämpfung von Software-Erosion, also des steten und schleichenden Verfalls der inneren Software-Struktur. Ihr Ziel ist die Verbesserung der Software-Qualität und Wartbarkeit von Systemen, die mit den Programmiersprachen Ada, C, C++, C# und Java entwickelt werden. Mit Hilfe der Axivion Bauhaus Suite lokalisieren Entwickler zuverlässig Stilverstöße, toten Code, Metrikausreißer, geklonten Code sowie zyklische Abhängigkeiten und Architekturverstöße. Der integrierte MISRA-Checker deckt 100 Prozent der automatisiert prüfbaren MISRA-Regeln der Programmierstandards MISRA C:2004, MISRA C:2012 und MISRA C++:2008 ab. So optimieren Entwickler die Qualität ihres Quellcodes, stellen die langfristige Wartbarkeit ihres Codes sicher und beugen aktiv einer schleichenden Software-Erosion vor.
Die Axivion Bauhaus Suite ist für die gängigen Plattformen Microsoft Windows und GNU/Linux verfügbar und unterstützt die Programmiersprachen Ada 83/Ada 95, C/C++, C#/.NET und Java. Die Toolsuite lässt sich auf die kundenspezifischen Entwicklungsumgebungen, Compiler und Versionskontrollsysteme anpassen und wird bereits von zahlreichen namhaften Unternehmen unter anderem aus den Branchen Elektronik, Automotive und Medizintechnik eingesetzt.
Der Nutzen für die Unternehmen liegt in einem schnellen Return-on-Investment für die Tools. Dieser wird unter anderem erreicht mit einer Produktivitätssteigerung, denn durch die entwicklungsbegleitende Architekturverifikation findet eine dauerhafte Fehlerprävention statt. Gleichzeitig wird das Projektrisiko minimiert, das beispielsweise durch den Ausfall einzelner Mitarbeiter entsteht, während sich die projektübergreifende Entwicklungsarbeit nachhaltig verbessert. Nicht zuletzt optimieren die Unternehmen im Sinne eines schnellen Time-to-Market mit der Axivion Bauhaus Suite ihre Reaktionsfähigkeit und -geschwindigkeit bei wechselnden Kunden- und Marktanforderungen und sichern ihre Entwicklungsinvestitionen durch eine Verlängerung des Lebenszyklus ihrer Software-Systeme.