Coverity Prevent Analysis-Engines
Coverty bietet die fortschrittlichste Analyse-Engine auf dem Softwaretestmarkt. Ursprünglich entwickelt auf der Basis von Forschungan an der Stanford University (Kalifornien) und durch jahrelange Erfahrung in Projekten mit hunderten Millionen Programmierzeilen weiter entwickelt, bietet die Coverity Analyse-Plattform heute die tiefste und genaueste Analyse, die auf dem Markt verfügbar ist.
Die Coverity Analysis-Engines benutzen Technologien und Innovationen von Coverity, die auf dem neusten Stand der Technik sind. Hiermit werden schwierig zu findende kritischse Bugs und Sicherheitsverletzungen im Code aufgedeckt.
Identifizieren Sie kritische Probleme
- die Souce-Code-Analyse-Engine von Prevent nutzt die Analyse der Softwarestruktur (von Coverity "Software-DNA-Map" genannt), um die verschiedenen Aspekte in ihrem Quellcode zu verstehen
- das modulare Prevent Fehleraufdeckungssystem erlaubt den gemeinsamen oder separaten Einsatz verschiedener Checker, um in Ihrem Code separat oder simultan nach verschiedenen Fehlerkategorien zu suchen.
- Prevent beschreibt die APIs und das Verhalten von Third-Party-Bibliotheken, die Teil ihres Codes sind
Nach Erstellung der Software-DNA-Karte analysiert Prevent diese und erlangt damit ein vollständiges Verständnis ihres Codes. Die verschiedenen Analyse-Engines mit Defect-Detecting-Checkern liefern eine hochgenaue Analyse ihres Quellcodes.
Die verschiedenen Checker decken in ihrer Software absturzverursachende Defekte (wie Speicherprobleme, logische Fehler, Pointer Errors, usw.), Sicherheitslücken und Concurrency-Defekte auf. Die modulare Analysearchitektur erlaubt den inkrementellen Einsatz des Tools mit verschiedenen Testläufen, die jeweils nach bestimmten Fehlerkategorien suchen.
Engines für die Analyse von C/C++ Code
Hinweis: Coverity Prevent verfügt ebenfalls über verschiedene Checker für Java-Projekte. Checker für C# werden voraussichtlich ab 2008 verfügbar sein.
| Feature/Engine | Beschreibung |
|---|---|
| Interprozedurale Datenflußanalyse | Um die genaueste Analyse bieten zu können, vollzieht Coverity eine echte interprozedurale Datenflußanalyse, die alle Funktionen und die Interaktionen zwischen Funktionen untersucht. Hierbei werden interprozedural 100% aller Pfade untersucht. Somit werden auch die schwierigsten zu findenden Fehler mit noch nie da gewesener Genauigkeit aufgedeckt. |
| False Path Pruning | Coverity analysiert selbst in außerordentlich großen Softwareprojekten alle ausführbaren Pfade. Das "False Path Pruning" ermöglicht es Coverty, solche Pfade auszuklammern, die während der Laufzeit unausführbar sind. Hierdurch werden genauere Ergebnisse schneller und effektiver geliefert. Für viele Projekte bietet Coverity eine durchschnittliche "False Positive Rate" von nur ca. 15%. Dies bedeuted, daß 9 von 10 Bugs, die angezeigt werden, solche sind, die Sie beheben sollten. |
| Statistische Analyse | Durch die Berechnung von Statistiken auf der Basis Ihres Quellcodes erlangt Coverity ein bessers "Verständnis" des jeweiligen Sourcecodes. Coverity kann abweichende Situationen in Ihrem Code erkennen und deckt damit Unstimmigkeiten schnell auf. Die "statistical Engine" versteht das Verhalten ihrer Applikation "im Ganzen". |
| Zuwachsanalyse (inkrementelle Analyse) | Coverity speichert die Informationen der jeweiligen Testläufe in einem "Zuwachsanalysenspeicher". Bei nachfolgenden Analysen, braucht daher nur der modifizierte bzw. der von diesem Code beeinflußte Code analysiert zu werden. Hierdurch wird die nachfolgende Analysezeit drastisch und ohne Genauigkeitsverlust reduziert. |
| Data Tracking Engine | Die Data Tracking Engine versteht die integer und booleschen Daten, die über die Statements in jedem Pfad des Programms gesammelt werden. |
| Interprocedural Summary Engine | Die "Interprocedural Summary Engine" ist eine wichtige Coverity-Innovation, die Prevent ermöglicht, eine komplette Programmanalyse mit komplexen Call-Chains jeder beliebigen Tiefe zu analysieren. |
| Type Flow Engine | Die "Type Flow Engine" verbessert die Genauigkeit der gelieferten Ergebnisse in C++-spezifischen Analysen, die auf der Klassenhierarchie beruhen. |
| Acceleration Engine | Die "Acceleration Engine" speichert die bei den einzelnen Fehleranalysen gesammelten Information während des Durchlaufs jeden einzelnen Pfades. Hierdurch wird die maximale Fehleranzahl gefunden, ohne daß Pfade unnötig durchlaufen werden müssen |
| Data Propagation Engine | Die "Data Propagation Engine" bringt die Ergebnisse der interprozeduralen Summary-Engine und alle Daten der Data-Tracking-Engine zusammen (hier liegt der Schlüssel zu Coveritys einzigartigen kontextsensitiven interprozeduralen Anlayse). |
![]() Coverity Hauptseite |
![]() |
![]() Nächste Seite |
last updated: 12.02.2008
© 2004-2008 Coverity Inc. (German translation made 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.


