Coverity analysiert komplexe Windows-Programme

Neue Prüfroutinen sollen Qualitätsprobleme in verteilten, COM-basierenden Systemen beseitigen.

Das auf die Quellcodeanalyse von Windows-Anwendungen spezialisierte Tool "Coverity Prevent" hat der Hersteller, die US-amerikanische Coverity Inc., mit neuen Defekt-Prüfroutinen ausgestattet. Sie sollen Entwickler darin unterstützen, kritische Programmierfehler aufzuspüren, die aufgrund allgemeiner COM-bezogener Fehler Systemabstürze und Speicherlecks zur Folge haben können. Unter Rückgriff auf die Coverity-Analyse-Engines erfassen die neuen Prüfroutinen laut Anbieter 100 Prozent der Softwarepfade und ermitteln vorhandene Defekte mit großer Präzision. Von besonderer Bedeutung sei das Update vor allem für solche Anwender, die verteilte Systeme mit großer Komplexität entwickeln müssen, bei denen das Auffinden von Defekten mittels manueller Prozeduren Monate dauern kann.

Die neuen Prüfroutinen ermöglichen die Erkennung falscher Typumwandlungen, der falschen Verwendung von Wrapper-Klassen und Referenzierungszählfehler - alles Defekte, die Speicherlecks, Systemabstürze oder unvorhersagbares Programmverhalten nach sich ziehen können. Pro Tag sollen sich Millionen von Codezeilen untersuchen lassen.

Die Coverity-Analyse geht den Angaben zufolge über die standardsprachlichen Konstrukte von C und C++ hinaus und schließt auch Programmierausdrücke, Datentypen und Bibliotheken ein, die für die Microsoft-Umgebung spezifisch sind. Die Technik erzeugt ein umfassendes Modell der COM-Software, um auf dieser Basis eine Quellcodeanalyse vorzunehmen. Das Tool unterstützt die neuesten Versionen von Visual C++ und ist aufgrund der überarbeiteten Zuordnung von Windows-APIs in der Lage, Interaktionen zwischen benutzerspezifischer Software und Microsoft-Bibliotheken besser zu verstehen.

Neben Windows-Umgebungen unterstützt Coverity Prevents eine Reihe weiterer Betriebssysteme und Compiler. Dazu zählen Linux, Mac OS X und Solaris oder GCC (Intel-Compiler für C/C++) sowie den Wind-River-Diab-Compiler. (Stefan Ueberhorst/mje)