statische Codeanalyse mit Coverity

[English]

Coverity-Produktvorteile

Coverity Juniper

Für die statische Analyse von Quellcode gibt es eine Vielzahl von Technologien und Werkzeugen. Viele Tools versprechen hunderte und tausende von Fehlern zu finden. Für die Auswahl eines guten Werkzeuges sind aber weitere Kriterien wichtig.
Hier einige der wichtigsten Auswahlkriterien für statische Analysetools:

Genauigkeit

Viele statische Analysetools haben eine hohe "False-Positive-Rate", die ihre Ursache in schlechten Analysetechniken hat. Bei einer hohen "False-Positive-Rate" wird ein Tool oft unbrauchbar, da viele Fehlermeldungen untersucht werden müssen, denen keine wirklichen Fehler zu Grunde liegen.
Um dies zu vermeiden, hat Coverity viele Innovationen wie zum Beispiel "False Path Pruning" (FPP) gemacht. Hierdurch ist die "False-Positive-Rate" bei Coverity ohne Toolanpassung "Out-of-the-Box" auf durchschnittlich deutlich unter 20% reduziert worden. Mit nur kleineren zusätzlichen Anpassungen kann das Ergebnis sogar noch weiter verbessert werden.

Analysetiefe

Je tiefer die Analyse ist, desto interessanter und wertvoller sind die Resultate. Dies gilt insbesondere für schwer aufzudeckende Probleme, die oft nicht von der QA gefunden werden und so mit dem Produkt auf den Markt kommen.
Coverity bietet eine vollständige interprozedurale Datenflußanalyse für den gesamten Quellcode. Diese Analyse wird auf 100% aller möglichen Pfade angewendet, woraus sich eine vollständige Codeabdeckung ergibt.
Coverity bietet desweiteren eine patentierte statische Analyse, die firmeneigene Programmierrichtlinien und abweichende Nutzung von Nicht-Standard-Interfaces unterstützt.

Analysebreite

Coverity liefert eine Sammlung verschiedener Qualitäts- und Sicherheits-Checkern, die über die Analyseplattform gesteuert werden. Selbst Firmen, die selber Qualtiäts- und Sicherheitslösungen anbieten, nutzen Coverity zur Verbesserung der Qualität und Sicherheit ihrer eigenen Produkte.
Coverity findet Probleme, die Memory- und Ressourcenleaks, System- und Prozeßabstürze, Daten-/Speicher-/Dateikomprimitierung, Performanzeinbrüche, unvorhersehbares Verhalten, Nebenläfigkeitsprobleme, Deadlocks und Sicherheitprobleme wie Buffer-Overflows, "Command-Injection-Attacken", "Rechteerschleichung" (privilege escalations) und Fehler in Formatierungsstrings provozieren können.

Kostenvorteil

Coverity integriet sich nahtlos mit Ihrer Entwicklungsumgebung und kann auch ohne Anpassungen sehr nutzbringend eingesetzt werden. Coverity kann im Gegensatz zu vielen statischen Analysetools, deren Installation oft Wochen oder Monate dauert, binnen Stunden oder Tage konfiguriert werden. Das Werkzeug ist sehr einfach zu nutzen und erlaubt Entwicklungsteams Bugs vom Zeitpunkt der Aufdeckung bis zum Fix zu bearbeiten. Mit der fortschrittlichsten Analysis Engine und einer extrem geringen "False-Positive-Rate" liefert Coverity nützliche Ergebnisse, ohne Ihre Zeit unnötig zu beanspruchen.

Ausweitbarkeit

Um den Anforderungen verschiedener Entwicklungsorganisationen und verschiedener Quellprogramme gerecht zu werden, ist Coverity über das Add-On Coverity Extend ausweitbar und anpaßbar. Mit Coverity können die Teams eigene angepaßte Tests durchführen. Das Tool unterstützt eigene Programmierrichtlinien, -standards und "Best Practices".

Skalierbarkeit

Wegen der Komplexität von statischen Analysen benötigen viele Werkzeuge Tage oder sogar Wochen für die Analyse. Coverity erledigt diese Aufgabe in einem "geringen Vielfachen" der Build-Zeit. Falls Ihr Build eine Stunde dauert, benötigt Coverity normalerweise nur wenige Stunden. Viele Coverity-Kunden nutzen Coverity Prevent täglich mit zig-Millionen Codezeilen. Coverity Prevent ist extrem skalierbar und in der Lage, die kritischsten Fehler in großen und komplexen Quellcodes zu finden.

Coverity Home page
Coverity Hauptseite
Free trial Next
Nächste Seite


last updated: 13.01.2009

© 2008-2009 Coverity Inc., San Francisco
Coverity Prevent, coverity Extend, Coverity Architecture Analyzer for C/C++ and Coverity Architecture Analyzer for Java are products and trademarks of Coverity, San Francisco (USA)
all other trademarks of this site are the property of their respective owners.