• IT-Karriere:
  • Services:

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.

Artikel veröffentlicht am ,
Die Fehlerrate des Linux-Kernel 2.6 hat abgenommen.
Die Fehlerrate des Linux-Kernel 2.6 hat abgenommen. (Bild: Anniolek/CC BY 3.0)

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.

Stellenmarkt
  1. Consors Finanz BNP Paribas, München
  2. Psychiatrisches Zentrum Nordbaden, Wiesloch

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.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Anzeige
Spiele-Angebote
  1. 67,89€ (Release: 19.11.)
  2. 55,99€
  3. 77,97€ (Release 19.11.)

Ass Bestos 31. Aug 2014

ich kann nur opensuse als stabiles produktivsystem empfehlen. richtig stabil.

486dx4-160 20. Jul 2014

"Über 90 % der arch-Fehler sind außerhalb der x86/i386-Verzeichnisse, wobei viele Fehler...

gonade 19. Jul 2014

Die Formulierung so ist absolut korrekt. Automatisierte Tools, die z.B. nach MISRA...

nille02 18. Jul 2014

... und vor 2 Wochen wurde der Fix in alle Stable zweige commited.


Folgen Sie uns
       


    •  /