Trotz Heartbleed: Open Source hat beste Code Qualität

Die Software-Code-Qualität von quelloffene Projekten wird immer besser. Auch werden Fehler in offenen immer schneller behoben, wie aus dem aktuellen Report “Scan Open Source” des Anbieters Coverity hervorgeht.

Quelle: Coverity
Quelle: Coverity

Die Qualität von offenen Projekten in C und C++ ist so gut wie nie, wie aus dem Coverity Scan Report 2013 hervorgeht. Der Spezialist für Qualitätssicherung und Testing in der Software-Entwicklung hat dafür 750 Millionen Codezeilen von Open-Source-Software der Sprachen C und C++ analysiert.

Und der vergleich mit proprietärer Software zeige, dass die Code-Qualität in offenen Projekten im Schnitt besser ist.

Vor allem die Entwicklung rund um Linux garantiere eine hohe Code-Qualität. So hätten die Entwickler des quelloffenen Betriebssystem inzwischen im Schnitt einen Bug innerhalb von 6 Tagen behoben. 2008 dauerte es noch im Schnitt 122 Tage bis ein Bug behoben wurde. Coverity hat 2013 8,5 Millionen Code-Zeilen aus Linux untersucht und eine Fehlerrate von 0.61 vorgefunden. Industrieweit gilt der Standardwert von 1,0 als Garant für gute Software-Qualität.

Coverity hat neben LibreOffice, Apache Hadoop, Cassandra und FreeBSD noch mehr als 700 weitere Projekte untersucht. Im Gesamtschnitt kommen diese Projekte auf eine ‘Defect Density’ von 0,59. Proprietäre Unternehmenssoftware erreichte im Schnitt einen Wert von 0,72. Damit ist zum ersten Mal der Wert von Open Source besser als der von kommerziellen Produkten. Welche proprietären Produkte Coverity im Gegenzug durchleuchtet hat, teilt das Unternehmen nicht mit.

Bislang hat Coverity mit dem Scan mehr als 94.000 Bugs aufgestöbert und rund die Hälfte dieser Fehler wurden alleine im Jahr 2013 entdeckt. Und mit Hilfe des kostenlosen Code-Scanners von Coverity seien 2013 mehr als 11000 Defekte in den vier größten Projekten des Dienstes behoben worden: NetBSD, FreeBSD, LibreOffice und Linux.

Neben den Projekten, die auf C und C++ basieren, hat Coverity auch mehr als 100 offene Java-Projekte untersucht. Hier steche vor allem die Datenbank HBase hervor. Die behebt mehr Fehler als jedes andere Projekt aus diesem Bereich.

Es zeige sich auch, dass in Java-Projekten nicht so viele Fehler behoben werden, wie in C/C++-Projekten. Die Experten von Coverity vermuten, dass sich die Entwickler zu sehr auf vermeintliche Sicherungsmechanismen wie Garbage Collection verlassen. Daher werden in Java-Projekten lediglich 13 Prozent der entdeckten Fehler behoben. In der Gruppe C/C++ hingegen seien es 46 Prozent.

“Basierend auf den Ergebnissen dieses Reports – und auch aufgrund der wachsenden Beliebtheit dieses Services – zeigt sich, dass Projekte die Tools wie Entwicklungs-Tests nutzen, die Qualität ihrer Software verbessern und so gleichzeitig die Messlatte für die gesamte Industrie höher legen”, kommentiert Zack Samocha, Senior Director Products für Coverity.

Die aktuelle Untersuchung dürfte nun auch ein wichtiges Argument für die hohe Qualität von Open-Source-Software sein, die durch das Heartbleed-Leck in OpenSSL in Misskredit geraten ist. Allerdings wird wie 1700 andere Projekte auch OpenSSL von dem kostenlos verfügbaren Scan-Service untersucht.

Tatsächlich konnte das Coverity-Tool über Static Analysis den Bug aus verschiedenen Gründen zunächst nicht aufspüren, wie Andy Chou, CTO und Gründer von Coverity in einem umfangreichen Blog kommentiert. Inzwischen sei der Scanner aber entsprechend angepasst.

Heartbleed-Bug im aktualisierten Testing-Tool von Coverity aus. Quelle: Coverity
So sieht der Heartbleed-Bug im aktualisierten Testing-Tool von Coverity aus. Quelle: Coverity