Fehlerdichte und Compliance-Standards in Applikationen

Kommerzielle Software ist besser als ihr Ruf

| Redakteur: Ulrike Ostler

Der „Coverity Scan Report“ eruiert Code-Qualität hinsichtlich der Fehlerdichte und Compliance.
Der „Coverity Scan Report“ eruiert Code-Qualität hinsichtlich der Fehlerdichte und Compliance. (Bild: © SG- design - Fotolia)

Der „Coverity Scan Report“ nimmt alljährlich kommerzielle und Open-Source-Projekte hinsichtlich Fehlerdichte und Einhaltung von Compliance-Standards unter die Lupe. Überraschenderweise hat die kommerzielle Software 2014 C/C++-, Java- oder C#-Open-Source-Software bei der Erfüllung von Compliance-Standards überholt und konnte auch bei der Code-Qualität aufholen.

Der aktuelle von Synopsys veröffentlichte Coverity Scan Open Source Report 2014 wartet mit einer Besonderheit auf: Beim Vergleich zwischen kommerzieller Software und Open-Source-Projekten zeigte sich, dass kommerzielle Software Compliance-Standards wie dem Top 10 des „Open Web Application Security Projects“ (OWASP) und dem „25 Common Weakness Enumeration“ (CWE) besser entspricht als Open Source. Dies ist insofern überraschend, als Open-Source-Software seit 2013 eine geringere Fehlerdichte als kommerzielle Software aufweist und diesen – wenn auch abnehmenden – Vorsprung 2014 verteidigt hat.

Für den aktuellen Coverity Scan Open Source Report wurden circa 10 Milliarden Codezeilen mit Hilfe des „Coverity Scan Service“ und der „Synopsys Coverity Software Testing Platform“ analysiert. Dies ist die größte Menge Codezeilen, die jemals für den Scan Report untersucht wurde.

Die Analyse umfasst mehr als 2.500 C- und C++ Open-Source-Projekte, sowie eine Auswahl kommerzieller Projekte. Hinzu kommen Ergebnisse von beliebten Open-Source-Projekten in Java und C#, die seit März 2013 Bestandteil des Reports sind.

Wichtige Ergebnisse des Reports

  • Die Fehlerdichte (Anzahl der Fehler pro 1.000 Codezeilen) von Open Source und kommerziellen Code hat sich seit 2013 verbessert: Vergleicht man die Gesamtfehlerdichte von 2013 und 2014, fällt bei Open-Source-Projekten eine Verbesserung von 0,66 auf 0,61 Fehler je 1.000 Codezeilen auf. Kommerzielle Projekte verbesserten sich von 0,77 auf 0,76 Fehler je 1.000 Codezeilen. Eine Fehlerdichte unter 1,0 gilt als Industriestandard für eine hohe Qualität.
  • Coverity Scan konnte OpenSSL bei der Überprüfung nach Heartbleed helfen: Laut Tim Hudson, Mitgründer von OpenSSL, half der Service dabei, neue Fehler aufzudecken und potentielle Schwachstellen ausfindig zu machen, die Heartbleed ähneln. Seit Heartbleed hat OpenSSL 302 Fehler behoben, die Coverity Scan gefunden hat. Die Fehlerdichte von OpenSSL liegt aktuell bei 0,21 Fehlern je 1.000 Codezeilen.
  • Linux bleibt Maßstab bei der statistischen Analyse der Fehlerdichte: Linux ist seit 2006 Bestandteil des Coverity Scans und entspricht weiterhin dem eigenen Vorsatz hinsichtlich der Qualität, die weiterhin im Mittelpunkt steht. 2014 unterstützte Linux Coverity Scan dabei, über 500 kritische Fehler ausfindig zu machen und zu beseitigen, beispielsweise Ressourcenlecks, Speicherabweichungen und nicht initialisierte Variablen.

Zack Samocha, Marketingdirektor für die Software Integrity Group bei Synopsys: „Insgesamt hat die Softwarequalität und -sicherheit zugenommen. Allerdings sind weder Open Source noch kommerzielle Standards vollständig und eindeutig in der Lage, alle Gefährdungen zu verhindern.“

Ergänzendes zum Thema
 
Über Coverity Scan

Das liege zum einen daran, dass Softwareprojekte schneller als je zuvor auf den Markt gebracht würden. Deshalb müssten Entwickler ein Gleichgewicht zwischen Sicherheit und Geschwindigkeit finden. „Wenn mehr dieser Projekte auf Lösungen wie Coverity Scan setzen, erwarten wir für 2015 eine fortlaufende Verbesserung bei der Sicherheit von Open Source und kommerziellen Code“, so der Marketing-Chef.

Der Coverity Scan Open Source Report sei mittlerweile ein etablierter Standard, um die Qualität von Open-Source-Code zu bewerten. Seit Beginn des Coverity Scan Projekts vor neun Jahren wurden bereits über 5.100 Open-Source-Projekte getestet, einschließlich C/C++-Projekte wie Linux, FreeBSD, LibreOffice, Python, PostgreSQL, Firefox und NetBSD und Java-Projekte, etwa Apache Hadoop, HBase, Tomcat, Cloudstack und Cassandra.

Insgesamt half der Report seit 2006 dabei, mehr als 240.000 Software-Fehler zu identifizieren und zu beheben. Allein 2014 wurden 152.000 Fehler behoben – das sind mehr Fehler, als in den vorherigen sieben Jahren zusammen.

Was meinen Sie zu diesem Thema?

Schreiben Sie uns hier Ihre Meinung ...
(nicht registrierter User)

Zur Wahrung unserer Interessen speichern wir zusätzlich zu den o.g. Informationen die IP-Adresse. Dies dient ausschließlich dem Zweck, dass Sie als Urheber des Kommentars identifiziert werden können. Rechtliche Grundlage ist die Wahrung berechtigter Interessen gem. Art 6 Abs 1 lit. f) DSGVO.
Kommentar abschicken
copyright

Dieser Beitrag ist urheberrechtlich geschützt. Sie wollen ihn für Ihre Zwecke verwenden? Infos finden Sie unter www.mycontentfactory.de (ID: 43537606 / Anwendungen)