Login
Newsletter
Werbung

Mi, 15. Dezember 2004, 00:25

Software::Kernel

Überlegene Codequalität des Linux-Kernels

Gelegentlichen Sicherheitslücken zum Trotz stellt eine Studie der Firma Coverity fest, daß der Linux-Kernel eine extrem geringe Zahl von Fehlern aufweist.

Geht man von den üblichen Fehlerzahlen proprietärer Software aus, so ist der Code des aktuellen Linux-Kernels von geradezu sensationeller Qualität. Bei proprietärer Software kommen während der Entwicklung - nicht im veröffentlichten Produkt - auf jeweils 1000 Zeilen Code bereits zwanzig bis dreißig Fehler, behauptet jedenfalls das CyLab Sustainable Computing Consortium an der Carnegie Mellon University. Hochgerechnet auf Kernel 2.6 wären das bei 5,7 Millionen Zeilen Code 114.000 bis 171.000 Fehler. Tatsächlich fand die Firma mit ihren Tools nur 985 Fehler in der aktuellen Kernel-Version 2.6.9, was 0,17 Fehler pro 1000 Zeilen bedeutet. Die meisten davon sind in der Entwicklerversion 2.6.10-rc3 bereits korrigiert. Wieviele Fehler allerdings durch die automatische Analyse der Tools unentdeckt blieben, steht auf einem anderen Blatt. Der Kernel Bugtracker der OSDL enthält derzeit etwa 1225 offene Bugs, je nach Zählung können die Zahlen schwanken.

Das Projekt zur Analyse des Linux-Quellcodes mit automatisierten Tools startete bereits im Jahr 2000 an der Stanford University und wird nun von der Firma Coverity, die von ehemaligen Stanford-Forschern gegründet wurde, fortgesetzt. Coverity will auch in Zukunft den Quellcode des Kernels analysieren. Eine Freigabe der Analysetools, die sich viele Kernel-Entwickler sicher wünschen würden, wird es aber wohl nicht geben.

Die Analyse von Coverity ordnet die Fehler fünf verschiedenen Kategorien zu. Es folgt eine Auflistung der Kategorien mit der Anzahl der zugehörigen Fehler in Klammern. Für diese Statistik wurden nur 627 der 985 gefundenen Fehler berücksichtigt, die in »kritischen Bereichen« des Kernels lagen. Offenbar gibt es in diesen Zahlen Überschneidungen der Bereiche.

  • Abstürze (569)
  • Pufferüberläufe (25)
  • Nicht freigegebene Ressourcen (33)
  • Fehlerhafte Verwendung von APIs (0)
  • Sicherheitsprobleme (100)

Eine genauere Aufgliederung findet man unter http://linuxbugs.coverity.com/linuxbugs.htm. Aktive Kernelentwickler können bei Coverity nach einem ausführlichen Report fragen.

Werbung
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung