Coverity Prevent

[English]

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
Coverity Prevent Defect Manager   Coverity Prevent Defect Status
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:

[PDF]  Coverity Prevent ™ (718 KB)
[PDF]  Coverity Extend™ (51 KB)

Coverity Home page
Coverity Mainpage
Free trial Next
Next page


last updated: 12.02.2008

© 2007-2008 Coverity Inc., German translation by Verifysoft Technology GmbH
Prevent and Extend are products and trademarks of Coverity, San Francisco (USA)
all other trademarks of this site are the property of their respective owners.