Coverity Prevent ™ C/C++: Automatische Analyse und Fehleraufdeckung für die Garantie
hochqualitativer Software
Coverity Prevent ™ ist das führende statische Code-Analysetool für
die automatische Aufdeckung von kritischen Problemen in C, C++ und Java-Quellcode.
Das Tool nutzt unter anderem das mathematische Verfahren der sogenannten
"Boole´schen Satisfiability"
und liefert damit eine bisher unerreichte Genauigkeit bei der statischen Code-Analyse.
Coverity Prevent ™ beschränkt sich nicht auf jeweils separate Analyse einzelner Dateien,
sondern überwacht den gesamten Build-Vorgang. Für jeden Compiler-Aufruf wird ein interner -Compiler
aufgerufen, der den Quellcode in eine eigene Repräsenation (analog zum menschlichen Genom
"Software-DNA" genannt) übersetzt, die erst in einem zweiten Schritt durch den Coverity-Parser
übersetzt wird. Hierdurch wird sichergestellt, daß Coverity Prevent Aufbau und Zusammenhänge
des Quellcodes "versteht".
Durch die Coverity Prevent ™-Benutzeroberfläche wird die Fehlerbehandlung
für den User wesentlich vereinfacht.
Prevent for C/C++ eignet sich besonders für große Softwaresysteme und deckt kritische
"Must-Fix-Defekte" auf, die zu Systemabstürzen, Speicher- und Sicherheitsproblemen,
unvorhergesehenem Verhalten und Performance-Einbrüchen führen können.
Coverity Prevent wird weltweit bereits von zahlreichen wichtigen Softwareentwicklungsfirmen
unter anderem in den Bereichen
Medizintechnik, Automation, Automotive und Telekommunikation eingesetzt.
Prevent bietet:
- 100% Pfadabdeckung:
Prevent for C/C++ analysiert alle ausführbaren Pfade Ihres Quellcodes.
Damit eine zügige Analyse gewährleistet werden kann, werden nicht ausführbare Pfade
bei der Analyse nicht berücksichtigt.
- geringe "False-Positive-Rate":
Prevent for C/C++ liefert die geringste "False-Positive-Rate" aller auf dem Markt
verfügbaren statischen Analysetools. Coverity Prevent stellt damit sicher, daß
die für die Code-Analyse aufgewendete Zeit zu entscheidenden Qualitätsverbesserungen im
Quellcode führt und nicht für das Überprüfen von "falschen
Meldungen" verschwendet wird.
- Fähigkeit zur schnellen Analyse großer Softwareprojekte:
Prevent for C/C++ analysiert Millionen von Codezeilen in nur wenigen Stunden.
Das Tool integriert sich in Ihren normalen Build-Prozeß und benötigt in der Regel keine
zusätzliche Hardware.
Entgegen vieler anderer statischer Analysetools,
die Programmstil- und syntax-basierte Prüfungen durchführen,
liefert Prevent for C/C++ eine tiefe, interprozedurale Analyse zur Aufdeckung
kritischer "must-fix" Defekte, die sonst nur sehr schwierig zu finden sind.
Prevent for C/C++ nutzt dabei zahlreiche Analyse-Engines, wie zum Beispiel:
- "Path Flow Engine":
"versteht" den Kontrollfluß jeder Funktion der Software und garantiert die
100%-ige Analyse aller Pfade des Quellcodes
- "Statistical Engine":
analysiert bestimmte "Verhaltensmuster" in der Software um abweichendes Verhalten anzuzeigen
- "Interprocedural Summary Engine"
setzt Prevent in die Lage eine komplette Analyse von komplexen Call-Chains entsprechend der
späteren Quellcode-Execution auszuführen und garantiert damit genaueste Ergebnisse
- "False Path Engine":
untersucht jede Verzweigungsbedinung auf "wahr", "falsch" oder unbekannt wodurch
"False-Positives" beim Reporting effizient reduziert werden
|
|
|
|
Die Prevent-Analyse-Ergebnisse werden in einem zentralen Defektmanager ausgegeben,
der die automatische Zuweisung von Defekten an User inklusive Email-Benachrichtigung ermöglicht.
|
|
Prevent liefert grafische Berichte mit Informationen über den aktuellen
Fehlerstatus des Projektes und dessen Veränderung über die Zeit.
Hierdurch wird die Entwicklung der Projektqualität sichtbar.
|
Coverity Extend™ C/C++ paßt die statische Code-Analyse an Ihre Bedürfnisse an
Coverity Extend ist ein benutzerfreundliches Software Developoment Kit (SDK),
daß Entwicklern erlaubt, neben den "Out-of-the-Box-Checkern" von Coverity Prevent
auch eigene, zusätzliche Fehlerkategorien und Regeln abprüfen zu lassen.
Coverity Extend kann für folgende Aufgaben genutzt werden:
- Aufdecken spezifischer Defekte in Ihrem Code
- Abprüfen von Firmen- oder Industriestandards, wie MISRA
- Automatisieren von Teilen manueller Code-Reviews
Coverity Extend verfügt über ein einfach zu nutzendes leistungsfähiges
SDK um Checker in C++ zu schreiben. Mit diesen Checkern analysiert Coverity Extend
dann den Quellcode auf die benutzerdefinierten Defekte hin.
Alle aufgedeckten Fehler werden im Coverity Prevent™-Code-Browser zusammen
mit den "Standard-Defekten" angezeigt.
Die durch den Nutzer definierten Erweiterungen werden
in einer Custom Checker Library abgespeichert.
Die Anzahl der Checker ist unbegrenzt.
Zum Schreiben von Coverity-Extend-Checkern sind außer C++ Programmierkenntnissen
keine besonderen Fähigkeiten erforderlich.
Sobald der Entwickler eine Erweiterung geschrieben hat, wird diese über die
Coverity-Analysis-Engine für die gesamte Codebasis abgeprüft.
weitere Dokumente:
Coverity Prevent ™ (304 KB)
Coverity Extend™ (84 KB)
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.
|