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-und C#-Projekte (siehe
Coverity Prevent for C#).
| 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). |
last updated: 14.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.
|