In Zeiten von Digitalisierung und Internet der Dinge wird die Sicherstellung eines möglichst fehlerfreien und damit sicheren Softwareprodukts zunehmend zur Herausforderung für Hersteller. Denn obwohl die Bedeutung eines sicheren Codes unbestreitbar ist, entscheidet im strengen Wettbewerb nicht selten eine schnelle Markteinführung über Erfolg oder Misserfolg einer innovativen Idee. Schnelle Release-Zyklen und zeitnahe Updates werden von Kunden heutzutage schlichtweg erwartet, wenn nicht gar als Standard vorausgesetzt. Für eine sorgfältige und entsprechend aufwendige manuelle Prüfung der Software durch Entwickler fehlen vor diesem Hintergrund oft Zeit und Ressourcen.
Um entwickelte Komponenten dennoch auf Fehler zu untersuchen, greifen Unternehmen häufig auf automatisierte Tools zum Testen ihrer Software zurück, beispielsweise in Form einer dynamischen Code-Analyse. Hierbei wird der Code zu einem lauffähigen Programm kompiliert und anschließend während der Ausführung geprüft. Dazu benötigen die entsprechenden Tools eigens entwickelte Testszenarien, die jedoch auch ihrerseits Fehler enthalten können. Im schlimmsten Fall wiegen sich Entwickler und Hersteller dann in trügerischer Sicherheit.
Statische Code-Analyse mit Helix QAC
Der zunehmende Bedarf an effizienten und wirtschaftlichen Möglichkeiten zur automatisierten Analyse von Software-Code war für Perforce Software Anlass und Grund, PRQA und dessen Tool für statische Code-Analyse Helix QAC (ehemals QAC/QAC++) zu übernehmen. Helix QAC bietet Anwendern die Möglichkeit, beliebige Mengen an Code automatisiert auf Fehler hin zu prüfen und dabei gleichzeitig die Einhaltung von Coding-Standards und Compliance-Vorschriften für spezialisierte Branchen wie Automotive, Luftfahrt und Verteidigung oder Medizintechnik sicherzustellen.
Im Gegensatz zur dynamischen Code-Analyse erfolgt die Prüfung bei der statischen Code-Analyse auf Ebene des Quelltextes, sodass keine Entwicklung von Test-Szenarien notwendig ist. Vielmehr erzeugt Helix QAC ein akkurates Verhaltensmodell der entsprechenden Software und verfolgt die einzelnen Variablen mit den Werten nach, die diese zur Laufzeit erhalten würden. Indem Fehler oder risikobehaftete Codestellen auf diese Weise an einem frühen Zeitpunkt im Entwicklungsprozess identifiziert werden, lassen sich Aufwand und Kosten für die Fehlerbehebung deutlich reduzieren.
Socionext erfüllt Automotive-Anforderungen mit Perforce
Mit der Herausforderung, sicheren Code in möglichst kurzer Zeit zu entwickeln und gleichzeitig strenge Branchenanforderungen zu erfüllen, sah sich auch der japanische Embedded-Spezialist für System-on-a-Chip(SoC)-Lösungen Socionext konfrontiert. 2015 durch die Fusion der Large-Scale-Integration-Bereiche von FUJITSU Limited und der Panasonic Corporation gegründet, beliefert das Unternehmen hochregulierte Branchen wie den Automotive-Sektor mit seiner innovativen SoC-Technologie. Die Entwicklung eines möglichst fehlerfreien Codes ist dabei für Socionext eine zentrale Anforderung: Da die SoC-Lösungen des Unternehmens in Chip-Form in die Produkte seiner Kunden eingebaut werden, können Bugs oder Sicherheitslücken nach Auslieferung an den Endkunden kaum oder nur mit sehr hohem Aufwand nachträglich behoben werden. Auch eine lückenlose Compliance mit dem Automotive-Coding-Standard MISRA ist darüber hinaus für Socionext unerlässlich.
Während die Prüfung des Software-Codes in der Vergangenheit Aufgabe manueller Code-Reviewer war – ein Prozess, der mit steigender Anzahl der Entwicklerteams schließlich kaum mehr effizient zu bewerkstelligen war –, nutzt Socionext heute Helix QAC in Kombination mit dem MISRA-C:2012-Compliance-Modul zur statischen Analyse seiner Quelltexte. Insgesamt 1.300 Nachrichten von Helix QAC wurden dazu an die knapp 150 internen Codierungsregeln von Socionext angepasst. Je nach Kundenanforderung lassen sich diese darüber hinaus flexibel auf Projektebene anpassen. Auf diese Weise ist Socionext nun in der Lage, die Compliance seiner SoC-Lösungen mit MISRA jederzeit automatisiert sicherzustellen – und damit eine der zentralen Anforderungen seiner Automotive-Kunden zu erfüllen. Darüber hinaus konnte mithilfe der Perforce-Lösung auch die durchschnittliche Entwicklungsdauer um zehn Prozent reduziert werden.
Fachvorträge: Best Practices zu Code-Analyse und Agiler Entwicklung
Weitere Best Practices zu Code-Analyse sowie aktuellen Trends in der Embedded-Entwicklung präsentiert Perforce auf der diesjährigen Embedded World auch im Rahmen zweiter Fachvorträge, mit denen sich das Unternehmen am Konferenzprogramm im Conference Counter NCC Ost beteiligt:
- „How to Find Concurrency Issues in C and C++” (Mittwoch, 27. Februar, 16:30 – 17:00 Uhr): Ein Großteil der entwickelten Software ist heutzutage auf die Nutzung mehrerer Prozessorkerne ausgelegt, doch der Austausch zwischen parallelen Prozessen birgt Fehlerpotenzial. Perforce-Experte Dr. Frank van den Beuken zeigt in diesem Zusammenhang, wie sich Sicherheitsrisiken verringern und die Qualität des Softwarecodes erhöhen lassen, ohne Einbußen bezüglich Geschwindigkeit oder Leistung in Kauf zu nehmen.
- „How to Balance Traceability and Compliance With Agile Development” (Donnerstag, 28. Februar, 10:30 – 11:00 Uhr): Der Umstieg auf Agile Entwicklungsmethoden kann für die Entwickler von Embedded-Systemen in Branchen mit besonders strengen Compliance-Vorgaben zur Herausforderung werden. Die Perforce-Spezialisten Robert Riccetti und Gerhard Krüger geben Einblicke, wie sich lückenlose Rückverfolgbarkeit und Compliance auch in Agilen Entwicklungsszenarien sicherstellen lassen.
Zu den umfassenden Analyse-Funktionalitäten von Helix QAC sowie weiteren aktuellen Trends in der Embedded-Entwicklung wie Agiles Projektmanagement oder Application Lifecycle Management (ALM) informieren die Perforce-Experten ausführlich auf der Embedded World 2019 am Messestand des Unternehmens Nr. 4-137. Anfragen für Pressetermine nimmt phronesis PR unter +49(0)821/444-800 sowie per E-Mail an info@phronesis.de gerne entgegen.