Statische Codeanalyse - ToolvergleichUnter dem Begriff "Statische Softwareanalyse" findet man eine Vielzahl von Produkten im Markt. Sie unterscheiden sich in der Qualität und Wertigkeit gefundener Fehler im Sourcecode, der Anzahl der Falschanzeigen (false positives), der Benutzerfreundlichkeit und Verwaltung von Ergebnissen.
Viele Werkzeuge leiten die Codequalität basierend auf Programmierrichtlinien, Konventionen zur Namensgebung, Dokumentation und Metriken ab.
Im Allgemeinen korreliert dies aber nur gering mit Programmeigenschaften wie Stabilität, Verfügbarkeit, Datensicherheit und Ausführungsverhalten etc.
Mit Coverity ist selbst die Analyse komplexer und großer, verschachtelter Anwendungen kein Problem. Es werden Fehler und deren Ursachen im Code aufgezeigt und Hinweise zur Ursache und deren Behebung gegeben.
Begründet ist das durch die Analyse der Semantik und des vollen Sprachumfanges des Codes. Durch eine vollständige Pfadabdeckung, kombiniert mit einer funktionsübergreifenden, interprozeduralen Datenflußanalyse, werden komplexe Defekte die sich erst in kritischen Situation zeigen würden oder durch ihr nicht reproduzierbares Auftreten sehr hohe Kosten verursachen, identifiziert.
Coverity Static Analysis analysiert Ihre Projekte "als Ganzes", also dateiübergreifend. Hierdurch "versteht" das Werkzeug das komplette System. Hieraus resultiert eine False-Positive-Rate von durchschnittlich weniger als 15%. Über 85% der angezeigten Fehler sind auch tatsächlich Fehler - der beste Wert aller statischen Codeanalysetools. Die für die Auswertung der Ergebnisse erforderliche Zeit ist daher mit Coverity wesentlich geringer als bei "Wettbewerbstools".
Nach dem Auffinden und Anzeigen von Softwarefehlern ist das Defekt-Managment entscheidend. Wichtig ist eine eindeutige Nachverfolgung, Zuweisung, Priorisierung, Erklärung und schnelle Behebung des angezeigten Problembereichs.
Coveritys datenbankgestützte Defektverwaltung kann unternehmensübergreifend eingesetzt werden um einen effizienten Arbeitsablauf zur Verringerung der Defektraten zu definieren und zu kontrollieren. Sie können dabei direkt die Auswirkungen von Defekten auf Ihre Endprodukte oder Softwareartefakte ermitteln (Impact-Analyse).
Mit komplexen Prüfroutinen werden Nebenläufigkeitsprobleme wie z.B. Race Conditions, Deadlocks und Synchronisationsprobleme aufgedeckt und im Integrity Center aufgezeigt. Hier ergänzt Coverity die Statische Analyse mit dynamischen Methoden um Sie vor Korruption von Daten oder einer Blockierung der Anwendung zu schützen.
Coverity ist mit Abstand Marktführer mit weit über 1.000 zufriedenen Kunden, welche Coverity Lösungen in ihren Entwicklungsprozess integriert haben. Coverity prägen und dominiert den Markt für Statische Softwareanalyse.
Kontakte zu Kunden vermitteln wir auf Anfrage gerne.
|