Analyse von Fehlerbehebungen im Linux-Kernel — im Durchschnitt werden Fehler nach 2 Jahren bemerkt.

Die Ergebnisse der Untersuchung zur Entdeckungs- und Behebungszeit von Fehlern im Linux-Kernel wurden veröffentlicht. Die Daten stammen aus der Analyse von 125.000 Fehlern, die im Git-Repository mit dem Tag „Fixes:“ gekennzeichnet sind, der auf den Commit verweist, in dem der Fehler aufgetreten ist. Die durchschnittliche Entdeckungszeit fĂŒr Fehler im Kernel betrug 2,1 Jahre. Betrachtet man nur die Fehler, die im Jahr 2025 behoben wurden, liegt dieser Wert bei 2,8 Jahren.

30 % der Fehler wurden von denselben Entwicklern behoben, die die Fehler verursacht haben. 56,9 % der Fehler werden innerhalb eines Jahres behoben. 13,5 % der Fehler blieben ĂŒber 5 Jahre unentdeckt (bei den im Jahr 2025 behobenen Fehlern lag dieser Wert bei 19,4 %). Aufgrund der ungleichmĂ€ĂŸigen Verteilung betrug die mediane Existenzzeit eines Fehlers im Kernel-Code 8 Monate fĂŒr die Stichprobe seit 2005 und 1 Jahr fĂŒr die Fehler, die 2025 behoben wurden. Der am lĂ€ngsten im Code verbliebene Fehler war ein BufferĂŒberlauf in ethtool, der nach 20,7 Jahren behoben wurde.

Analyse der Fehlerbehebung im Linux-Kernel - im Durchschnitt werden Fehler nach 2 Jahren bemerkt.

Die Fehlererkennungsdynamik weicht deutlich vom Durchschnittswert fĂŒr einige Teilsysteme ab. So dauert die Problemerkennung im CAN-Bus-Treiber und im SCTP-Stack im Durchschnitt etwa 4 Jahre, im IPv4-Stack 3,6 Jahre, bei USB und TTY 3,5 Jahre, bei Netfilter und im Netzwerkstack 2,9 Jahre, bei VMs 1,8 Jahre, bei GPUs 1,4 Jahre und bei BPF 1,1 Jahre.

Analyse der Fehlerbehebung im Linux-Kernel - im Durchschnitt werden Fehler nach 2 Jahren bemerkt.

Die Erkennungszeit korreliert mit den Fehlertypen: Die durchschnittliche Zeit zur Entdeckung von Fehlern, die mit Race Conditions zusammenhĂ€ngen, betrug 5,1 Jahre, bei Integer Overflow 3,9 Jahre, beim Zugriff nach Freigabe des Speichers 3,2 Jahre, bei PufferĂŒberlauf und Speicherlecks 3,1 Jahre, bei der ZĂ€hlerverwaltung 2,8 Jahre, und beim Dereferenzieren von Nullzeigern sowie bei Deadlocks 2,2 Jahre.

In den erhobenen Statistiken zeigt sich auch, dass die EinfĂŒhrung neuer Werkzeuge zur automatisierten Fehlererkennung, statischen Analyse und Code-Testung, wie Syzkaller, KASAN, KMSAN und KCSAN, einen Einfluss hat. Beispielsweise gab es im Jahr 2010 keine dokumentierten Fehlerkorrekturen, die im Laufe des Jahres gefunden wurden. Im Jahr 2014 wurden jedoch 31 % der Fehler innerhalb eines Jahres identifiziert, 2018 waren es 54 % und 2022 sogar 69 % der Fehler.

Die erhaltenen Statistiken wurden zur Erstellung des maschinellen Lernmodells VulnBERT verwendet, das die Vorhersage von Schwachstellen in Commits ermöglicht. Bei Tests an Commits aus dem Jahr 2024 lag die Fehlererkennungsgenauigkeit bei 92,2 % mit einer Fehlalarmquote von 1,2 % (zum Vergleich: Das zuvor verfĂŒgbare Modell CodeBERT identifizierte 89,2 % der Probleme bei einer Fehlalarmquote von 48,1 %).

Quelle: opennet.ru

Erwerben Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server đŸ”„ Kaufen Sie zuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster