Kernel 2.6: Code-Analyse zeigt sinkende Fehlerrate in Linux
Eine Studie französischer Wissenschaftler analysiert die Fehler im 2.6er-Zweig des Linux-Kernels: Sie zeigen sinkende Fehlerraten und stellen Tools bereit, um Ergebnisse mit aktuellen Kernels zu erhalten.

Seit einer 2001 erschienenen Studie zur Codequalität des Linux-Kernels hat sich sehr viel an dem Entwicklungsmodell geändert, weshalb ein Forscherteam verschiedener französischer Institute die Studie mit dem Code des 2.6er-Zweigs wiederholt hat. Die größte Erkenntnis ist, dass die Rate der aufgefundenen Fehler trotz wachsenden Codes abnimmt.
Zwar findet sich nach der Studie in den Treibern nach wie vor die größte Anzahl an Fehlern, diese umfassen aber auch mehr als die Hälfte des gesamten Kernel-Codes. Die größte Fehlerrate hat der Code in dem Arch-Verzeichnis, betrifft also die architekturabhängigen Funktionen.
In etwa einem Drittel der Fehler wird ein zurückgegebener Wert nicht daraufhin überprüft, ob es sich um einen Nullzeiger handelt. "Über 90 % der arch-Fehler sind außerhalb der x86/i386-Verzeichnisse, wobei viele Fehler im Ppc- und Powerpc-Code sind." Selbst die Staging-Treiber, die wegen ihrer schlechten Qualität nicht für die Verwendung durch Endnutzer gedacht sind, weisen im Jahr 2011 eine geringere Fehlerrate auf als der Arch-Code.
Für die Studie beschränkten sich die Autoren auf eine sehr kleine Menge von klar definierten Fehlern. Neben dem fehlenden Test auf Nullzeiger suchten sie nach Aufrufen von geblockten Funktionen, der Verwendung von freigegebenem Speicher und prüften, ob die Grenzen von Array eingehalten werden.
Fehler finden und beheben
Werden die Fehler gefunden, entweder durch Werkzeuge oder durch die Kernel-Hacker selbst, dauert es der Studie zufolge im Schnitt zwischen drei und sechs Monate, bis die Patches im Stable-Zweig veröffentlicht werden. Die Analyse des Codes könnte aber auch zeigen, wie lang ein Fehler überhaupt in Linux existiert.
Eine derartige Untersuchung werde aber von vielen Annahmen beeinflusst, so dass die Angaben mit Vorsicht zu bewerten seien, erklären die Autoren in der Studie. Ihren angesetzten Maßstäben nach betrage die Lebensrate der Fehler durchschnittlich 2.93 Jahre.
Analyse-Werkzeuge frei verfügbar
Mit der Veröffentlichung der Studie erhoffen sich die Autoren, dass die Ergebnisse zu einer Verbesserung des Codes insgesamt beitragen, da Entwickler dadurch um besonders fehleranfällige Bestandteile wissen.
Um langfristig reproduzierbare Ergebnisse zu erhalten und ähnliche Statistiken über neuere Kernel anfertigen zu können, wird in der Studie die Vorgehensweise sehr genau beschrieben. Zudem sind die verwendeten Werkzeuge Coccinelle und Herodotos als Open Source verfügbar.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
- ohne Werbung
- mit ausgeschaltetem Javascript
- mit RSS-Volltext-Feed
ich kann nur opensuse als stabiles produktivsystem empfehlen. richtig stabil.
"Über 90 % der arch-Fehler sind außerhalb der x86/i386-Verzeichnisse, wobei viele Fehler...
Die Formulierung so ist absolut korrekt. Automatisierte Tools, die z.B. nach MISRA...
... und vor 2 Wochen wurde der Fix in alle Stable zweige commited.