Login
Newsletter
Werbung

Mi, 8. Mai 2013, 12:57

Software::Entwicklung

Coverity stellt Open Source Report 2012 vor

Die alljährlich vom US-Unternehmen Coverity durchgeführte Untersuchung zur Code-Qualität von freier im Vergleich zu proprietärer Software liegt jetzt in neuer Version für das Jahr 2012 vor und sieht bei sehr großen Open-Source-Projekten erstmals einen leichten Rückgang der Code-Qualität.

Coverity-Scan 2012

Thomas Drilling

Coverity-Scan 2012

Der Coverity Scan wurde im Jahr 2006 vom US-Unternehmen Coverity in Zusammenarbeit mit dem U.S. Department of Homeland Security ins Leben gerufen und galt seinerzeit als weltweit größtes öffentlich-privatwirtschaftliches Forschungsprojekt. Kern-Anliegen des Coverity Report ist, die Qualität und Sicherheit von Open-Source-Software fundiert zu bewerten. Seit dem Jahr 2008 betreibt Coverity das Projekt alleine und prüft mit Hilfe seiner gleichnamigen Testplattform Coverity Scan die Vollständigkeit und Qualität von Open-Source-Projekten im Vergleich zu proprietärer Software. Bisher kam der Report stets zu dem Ergebnis, dass die Qualität von Open-Source mit der von proprietärer Software mindestens gleichzusetzen ist oder darüber hinaus geht.

Der nunmehr zum fünften Mal vorgestellte Jahresreport 2012 basiert auf der Auswertung von über 450 Millionen Zeilen Open-Source-Code und kommerzieller Software. Insgesamt wurden mit Coverity Scan seit 2006 über einen Zeitraum von jetzt sieben Jahren nahezu 850 Millionen Zeilen Programmcode aus über 300 Open-Source-Projekten analysiert. Unter den bisher analysierten Software-Projekten, Skriptsprachen und Betriebssystemen sind zum Beispiel neben dem Linux-Kernel auch Apache und PHP. Außerdem hat Coverity auch den Programmcode von über 300 Coverity-Kunden anonym ausgewertet. Die 2012er Fassung des Coverity-Reports (PDF) weist mit ihren 450 Millionen analysierten Codezeilen zudem den bisher größten Umfang einer Stichprobe auf und stützt sich auf die Beobachtung von 118 Open-Source- und 250 proprietären Software-Projekten.

Erstmals seit seinem Erscheinen kommt der Report des Beobachtungsjahres 2012 unter anderem zu dem Ergebnis, dass die Code-Qualität bei sehr großen Open-Source-Projekten mit über einer Millionen Codezeilen im Vergleich zu kommerzieller Software leicht zurückgeht. Übliche Messeinheit bei Untersuchungen zur Softwarequalität ist die sogenannte »Defektrate«, die als »gefundene Defekte je 1.000 Zeilen Programmcode« definiert ist. Ein Wert von 1,0 entspricht also exakt einer Fehlstelle je 1.000 Codezeilen und gilt auch als industrieweiter Standard für gute Softwarequalität.

Unter diesem Gesichtspunkt bewegt sich als eines der Ergebnisse des 2012er Coverity-Reports die Qualität sowohl von Open-Source-Projekten mit durchschnittlich 0,69 Fehlerstellen je 1000 Code-Zeilen, als auch von proprietärer Software mit 0,68 Fehlerstellen je 1000 Zeilen Code auch 2012 wie in den Vorjahren auf einem hohen Niveau. Trotz der nahezu gleichen mittleren Defektrate lassen sich aber 2012 Unterschiede im Detail ablesen.

Bei kommerziellen Projekten scheint es bei mehr als einer Million Codezeilen einen unmittelbaren Zusammenhang zwischen Code-Volumen und Qualität zu geben. Belief sich nämlich die durchschnittliche Defektrate der analysierten kommerziellen Projekte bei 500.000 bis zu einer Million Zeile Code auf 0,98, verringerte sie sich bei mehr als einer Million Codezeilen auf 0,66. Die Softwarequalität kommerzieller Projekte scheint demnach generell zu steigen, sobald das Code-Volumen eine Million Codezeilen überschreitet. Bei Open-Source-Projekten ist hingegen eine gegenteilige Entwicklung beobachtbar. Lag die durchschnittliche Defektrate für Projekte mit einem Umfang von 500.000 bis zu einer Million Programmzeilen noch bei einem überragenden Wert von 0,44, stieg sie bei Projekten von über einer Million Codezeilen auf 0,75. Demnach scheint sich die Softwarequalität bei Open-Source-Projekten im Jahr 2012 mit zunehmender Projektgröße verschlechtert zu haben, wenngleich der Wert 0,75 immer noch als sehr gut zu bewerten ist.

Die Gründe für die Abweichungen sind laut Coverity in der unterschiedlichen Dynamik innerhalb der Entwicklerteams zu suchen. So würden beispielsweise Open-Source-Projekte gerade in der Startphase öfter Entwickler anziehen, als das bei kommerziellen Projekten der Fall ist, weil diese hier bessere Chancen zur Selbstverwirklichung sähen. Beim späteren Anwachsen freier Projekte würde dagegen angesichts der größeren Zahl involvierter Entwickler die Verwaltung zunehmend schwieriger. Dies sei bei anwachsenden proprietären Projekten in der Regel weniger der Fall, weil diese häufig auf etablierte, geprüfte Softwarestände aufsetzten, für die zudem ein kommerzielle Hersteller bürge.

Speziell das Linux-Betriebssystem bleibt aber auch im Jahr 2012 ein Benchmark für Qualität. Seit der ersten offiziellen Veröffentlichung des Coverity Scan Reports im Jahr 2008 wiesen alle gescannten Linux-Versionen stets eine Defektrate kleiner 1,0 auf; in den Jahren 2011 und 2012 lagen sie sogar unter 0,7. Im Detail: im Jahr 2011 analysierte der Coverity-Scan mehr als 6,8 Millionen Zeilen Linux-Code und ermittelte eine Defektrate von 0,62. 2012 waren es über 7,4 Millionen analysierte Code-Zeilen bei einer Defektrate von 0,66. 2012 lag die Defektrate bei 7,6 Millionen gescannte Codezeilen von Linux 3.8 bei einem hervorragenden Wert von 0,59.

Ferner fiel im Rahmen der Untersuchungen auf, dass die durchschnittliche Größe der beobachteten Open-Source-Projekte innerhalb der letzten vier Jahre um rund 150.000 Codezeilen gestiegen ist, was mit ein Grund für den Anstieg der beobachteten, durchschnittlichen Fehlerrate aller untersuchten Projekte von 0,45 auf 0,69 Fehler pro 1000 Code-Zeilen im Vergleich zum Vorjahr sein könnte.

Problematisch sind nach wie vor Hochrisiko-Defekte. So fielen 36 Prozent aller im Rahmen des Scan Reports 2012 behobenen Defekte in diese Kategorie. Dabei handelt es sich um Defekte, die wenn sie unentdeckt bleiben eine hohe potentielle Gefahr für Qualität und Sicherheit sind. Die im 2012er Report am häufigsten genannten Hochrisiko-Defekte sind Ressourcen-Leaks, Speicher-Korruptionen und unerlaubte Speicherzugriffe, allesamt Fehler, die sich laut Coverity ohne automatische Codeanalyse kaum aufzuspüren lassen.

Der diesjährige Report kommt laut Jennifer Johnson, Marketing-Chefin bei Coverity, zu der Schlussfolgerung, dass Development Testing für Softwareentwickler heutzutage unverzichtbar ist. So implementiere eine immer größere Zahl von Open-Source- und kommerziellen Projekten inzwischen die so genannte statische Analyse in ihren Entwicklungsprozess. Mit Development Testing lässt sich das Problem der Hochrisiko-Defekte erheblich reduzieren.

Coverity Scan unterstützt seit Anfang des Jahres auch die Programmiersprache Java. Unter diesem Link können Entwickler ihre Open-Source-Projekte für Coverity Scan anmelden.

Werbung
Kommentare (Insgesamt: 8 || Alle anzeigen )
Re[4]: Puh, Glück gehabt! (Anonymous, Sa, 11. Mai 2013)
Re[3]: Puh, Glück gehabt! (Frank Frank, Sa, 11. Mai 2013)
Re: Codequalitaet (o13, Sa, 11. Mai 2013)
Re[2]: Puh, Glück gehabt! (Anonymous, Fr, 10. Mai 2013)
Re: Puh, Glück gehabt! (sebas, Do, 9. Mai 2013)
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung