Resultaterne af undersøgelsen af tiden til opdagelse og løsning af fejl i Linux-kernen er offentliggjort. Data blev indsamlet ved at analysere 125.000 fejl, der var markeret i Git-repositoriet med tagget "Fixes:", som henviser til det commit, hvor der opstod en fejl. Den gennemsnitlige tid til opdagelse af fejl i kernen var 2,1 år. Hvis man kun ser på de fejl, der blev rettet i 2025, var denne indikator 2,8 år.
30 % af fejlene blev rettet af de samme udviklere, der indførte fejlene. 56,9 % af fejlene bliver rettet inden for et år. 13,5 % af fejlene forblev uopdaget i mere end 5 år (hvis man kun ser på de fejl, der blev rettet i 2025 — 19,4 %). På grund af den ujævne fordeling var den mediane tid for en fejl i koden 8 måneder for prøven fra 2005 og 1 år for fejl rettet i 2025. Den fejl, der havde den længste levetid i koden, var et buffer-overløb i ethtool, som blev rettet efter 20,7 år.

Dynamikken i fejlopdagelse adskiller sig betydeligt fra gennemsnittet for nogle subsystemer; for eksempel i CAN-busdriveren og SCTP-stakken tager det i gennemsnit cirka 4 år at opdage problemer, i IPv4-stakken — 3,6 år, USB og TTY — 3,5 år, Netfilter og netværksstakken — 2,9 år, VM — 1,8 år, GPU — 1,4 år, BPF — 1,1 år.

Tiden til opdagelse korrelerer med typerne af fejl: den gennemsnitlige tid til opdagelse af fejl relateret til race-tilstande var 5,1 år, heltals-overløb — 3,9 år, adgang efter frigivelse af hukommelse — 3,2 år, buffer-overløb og hukommelseslækage — 3,1 år, referenceoptælling — 2,8 år, dereferering af null-peger og deadlocks — 2,2 år.
I de indsamlede statistikker ses også indflydelsen fra implementeringen af nye værktøjer til automatiseret fejlfinding, statisk analyse og testing af koden, som Syzkaller, KASAN, KMSAN og KCSAN. For eksempel blev der i 2010 ikke registreret nogen fejlrettelser fundet inden for et år. Mens 31 % af fejlene blev opdaget inden for et år i 2014, 54 % i 2018 og 69 % i 2022.
Den indsamlede statistik blev brugt til at skabe maskinlæringsmodellen VulnBERT, der gør det muligt at forudsige tilstedeværelsen af sårbarheder i commits. Ved test af commits fra 2024 var nøjagtigheden af fejlregistreringen 92,2 % med en falsk positiverate på 1,2 % (til sammenligning registrerede den tidligere tilgængelige model CodeBERT 89,2 % problemer med en falsk positiverate på 48,1 %).
Kilde: opennet.ru
