10.08.2004, 00:00 Uhr

Hilfe bei der systematischen Fehlersuche

Testtool Polyspace Verifier findet Fehler in C/C++- und Ada-Code.
Software-Tests sind immer noch der limitierende Faktor schlechthin bei der Software-Erstellung: Während sich die Menge an Quellcode in Embedded Applications ungefähr alle 18 Monate verdoppelt, bleibt die Fehlerrate von durchschnittlich einem „harten“ Softwarefehler pro 1.000 Lines of Code konstant.

Die Idee hinter dem Testtool Polyspace Verifier basiert auf dem Prinzip der „Abstrakten Interpretation“: Ein Programm oder ein Programm-Modul wird statisch überprüft. Dabei wird jeder Wertbereich, den eine Variable zu jedem beliebigen Zeitpunkt des Programmablaufes annehmen kann anhand der Code-Charakteristik durchgerechnet und grafisch in einem virtuellen Raum als Punktewolke (Polyhedrone bzw. n-tuple) abgebildet. Die logischen Schlüsse, ob der Code mathematisch überhaupt funktionieren kann oder nicht, werden per elementarer Mengenlehre erzeugt.

Alle Stellen im Code, die schon vor einem möglichen Testlauf durch Laufzeitfehler oder undefinierte Funktionen Probleme verursachen können, werden identifiziert und farblich für den Software-Tester markiert (Beispiele anbei). Sowohl permanente und sporadische Fehler, als auch so genannter toter Code, der nicht erreicht werden kann, werden dabei erfasst. So wird der Code während der Programmierung direkt nach der Compilierung gesäubert.

Info:
www.polyspace.com



Das könnte Sie auch interessieren