Апублікаваны вынікі даследавання часу выяўлення і ўхіленні памылак у кодзе ядра Linux. Дадзеныя атрыманы ў выніку аналізу выпраўлення 125000 памылак, пазначаных у Git-рэпазітары тэгам «Fixes:», які спасылаецца на коміт, у якім узнікла памылка. Сярэдні час выяўлення памылак у ядры склала 2/1 года. Калі разглядаць толькі памылкі, выпраўленыя ў 2025 годзе, гэты паказчык склаў 2.8 года.
30% памылак былі выпраўлены тымі ж распрацоўшчыкамі, што і ўнеслі памылкі. 56.9% памылак ухіляюць на працягу года. 13.5% памылак заставаліся незаўважанымі больш за 5 гадоў (калі разглядаць толькі памылкі, выпраўленыя ў 2025 годзе - 19.4%). З-за нераўнамернасці размеркавання медыяны час існавання памылкі ў кодзе ядра склала 8 месяцаў для выбаркі з 2005 года і 1 год для памылак, выпраўленых у 2025 годзе. Найбольш доўга якая захоўвалася ў кодзе памылкай стала перапаўненне буфера ў ethtool, ухіленае праз 20/07 гадоў.

Дынаміка выяўлення памылак прыкметна адрозніваецца ад сярэдняга значэння для некаторых падсістэм, напрыклад, у драйверы шыны CAN і стэку SCTP выяўленне праблем у сярэднім займае каля 4 гадоў, у IPv4-стэку – 3.6 гадоў, USB і TTY – 3.5, Netfilter і сеткавы стэк – 2.9, VM – 1.8.

Час выяўлення карэлюе з тыпамі памылак: сярэдні час выяўлення памылак, звязаных са станамі гонкі, склаў 5.1 гадоў, цэлалікім перапаўненнем - 3.9, зваротам пасля вызвалення памяці - 3.2, перапаўненнем буфера і ўцечкай памяці - 3.1, падлікам спасылак - указымы і блокамі - раз 2.8, разлікам спасылак - 2.8, - 2.2 гады.
У атрыманай статыстыцы таксама прасочваецца ўплыў укаранення новых прылад для аўтаматызаванага пошуку памылак, статычнага аналізу і тэставанні кода, такіх як Syzkaller, KASAN, KMSAN і KCSAN. Напрыклад, у 2010 годзе не было зафіксавана выпраўленняў памылак, знойдзеных на працягу года. У той час, як у 2014 годзе на працягу года выяўлялася 31% памылак, 2018 годзе - 54%, а ў 2022 годзе - 69% памылак.
Атрыманая статыстыка была скарыстана для стварэння мадэлі машыннага навучання VulnBERT, якая дазваляе прадказваць наяўнасць уразлівасцяў у комітах. Пры тэставанні на комітах за 2024 год дакладнасць выяўлення памылак склала 92.2% пры ўзроўні ілжывых спрацоўванняў 1.2% (для параўнання раней даступная мадэль CodeBERT выяўляла 89.2% праблем пры ўзроўні ілжывых спрацоўванняў 48.1%).
Крыніца: opennet.ru
