certitudo – Prüfen und Testen für Electronical Devices-Software

Electronical Devices

Electronical Devices sind heute in fast jedem Gerät zu finden. Vom Rasenmäher über Fernseher bis zu Fahrstühlen und Landmaschinen, ohne computergestützte Komponenten geht heutzutage nichts mehr. Da die eingebauten Microchips immer leistungsfähiger werden, wird auch die implementierte Software immer komplexer. Somit werden Software Engineering und Testing Know-How für Electronical Devices immer wichtiger.

 

Software-Entwicklungsprozess

Wir unterstützen Sie als Dienstleister in allen Phasen Ihres Software-Entwicklungsprozesses. Unsere Mitarbeiter haben große Erfahrung in allen Bereichen rund um das Thema Software-Entwicklungsprozess für Ihr spezifisches Electronical Device beginnend mit dem Aufstellen von Anforderungen (Requirement Engineering), über die Definition von geeigneten Architekturen und Designs, Sourcecode-Analysen, den verschiedenen Teststufen bis hin zur Verifikation und Validierung. Dabei ist es für uns nicht relevant, ob Ihr Entwicklungsprozess auf dem Wasserfall-Modell, dem V-Modell oder auf einem agilen Entwicklungs-Ansatz (z.B. SCRUM) aufsetzt.

 

Code Review inkl. Statischer Code Analyse

Um die Erfüllung der Anforderungen zu überprüfen, werden Code Reviews durchgeführt, mit dem Ziel die Abdeckung der Requirement- und Design-Vorgaben durch die Softwaremodule nachzuweisen. Darüber hinaus werden durch entsprechende Code-Coverage-Analysen die unterschiedlichen Abdeckungsgrade des Codes (z.B. C1-Abdeckung) durch Tests und Reviews gemessen und die Traceability zu den Testfällen überprüft. Worst-Case Laufzeit Analyse (WCET-Analyse) und Floating Point Error Analyse sind weitere Verfahren, die herangezogen werden, um die Qualität des Codes nachzuweisen. Selbstverständlich berücksichtigen wir bei den Code-Coverage-Analysen auch Ihre internen Coding-Standards.

 

Verifikation und Validierung

Auch in den Bereichen Verifikation und Validierung sind wir Ihr kompetenter Ansprechpartner. Durch unsere jahrelangen Projekterfahrungen in der Verifikation und Validierung können wir gemeinsam mit Ihnen die optimale Verifikations- und Validierungs-Vorgehensweise erstellen und Sie bei der Umsetzung innerhalb der Projekte praktisch unterstützen.

 

Referenzprojekt

Ein Fahrstuhlhersteller entwickelte Hochgeschwindigkeitsfahrstühle für Gebäude mit mehr als 50 Stockwerken und 300m Höhe. Die Entwicklung erfolgte nach EN81. Die certitudo GmbH führte für die Steuerungssoftware ein manuelles, technisch orientiertes Code Review der Software durch. Der Source Code bestand aus

  • 99 Include Dateien (.h) und
  • 84 Quell Code Dateien (.c) mit
  • 51933 Lines of Code von insgesamt 67125 Lines.

Ziel der Analyse war in erster Linie das Aufzeigen und Dokumentieren technischer Defizite und Risikofaktoren innerhalb des Codes, die potenziell die Stabilität und Zuverlässigkeit der Software zur Laufzeit beeinflussen, etwa durch potenzielle Falschberechnungen, Endlosschleifen, Abstürze etc.

Der übergebene Quellcode wurde zuvor bereits seitens des Auftraggebers toolgestützt überprüft. Zur Ergänzung wurden weitere Analysen mit den Werkzeugen

  • VisualCodeGrepper V1.6.1.0 und
  • clang V 3.4.2

durchgeführt.

Als Zweites wurden die Interrupt-Routinen manuell geprüft und die Ergebnisse dokumentiert. Hierbei wurde analysiert, ob konkurrierende Zugriffe auf Variablen während einer Interrupt-Behandlung auftreten können.

Im Rahmen der toolgestützten Code Analyse mit dem Tool VisualCodeGrepper wurden mehrere Auffälligkeiten festgestellt und dokumentiert. Einige Auffälligkeiten sind als False-Positive gewertet worden. Andere Auffälligkeiten betreffen die Kommentierung im Source Code, die auf nicht vollständige Implementierung hindeuteten.

Die Kompilierung des Source Code mit dem Compiler clang hat zusätzliche relevante Auffälligkeiten ergeben, die bereinigt werden mussten.

In der Analyse der Interrupt-Routinen sind mögliche Race-Conditions ermittelt worden, welche anschließend vom Entwicklerteam daraufhin begutachtet wurden, ob sie im laufenden System kritisch werden können und somit eine potentielle Gefährdung darstellen.

Nach der gemeinsamen Bewertung der  Race-Conditions und der übrigen Auffälligkeiten durch den Hersteller und die Mitarbeiter der certitudo GmbH wurden nach der anschließenden Überarbeitung der Software die Hochgeschwindigkeits-Fahrstühle erfolgreich in Betrieb genommen.