Опубліковано результати дослідження часу виявлення та усунення помилок у коді ядра Linux. Дані отримані в ході аналізу виправлення 125 тисяч помилок, помічених у Git-репозиторії тегом «Fixes:», який посилається на коміт, де виникла помилка. Виявилось, що помилку в ядрі зазвичай помічають через 2,1 роки після її появи. А якщо розглядати лише помилки, виправлені в 2025 році, то цей показник становив 2,8 роки, пише Pebblebed.
Читайте также: Штучний інтелект не зможе замінити розробників щонайменше протягом 5 років
Після виявлення 30% помилок було виправлено тими розробниками, які їх зробили. 56,9% помилок усувають протягом року. 13,5% помилок залишаються непоміченими понад 5 років (якщо розглядати лише помилки, виправлені в 2025 році — 19.4%).
Помилка, яка найдовше зберігалась в коді Linux, була пов’язана з переповненням буфера в ethtool. Її виправили через 20,7 років після появи.
Динаміка виявлення помилок помітно відрізняється від середнього значення для деяких підсистем, наприклад, в драйвері шини CAN і стеку SCTP виявлення проблем в середньому займає близько 4 років, IPv4-стеку — 3,6 років, USB і TTY — 3,5, Netfilter і мережевий стек — 2,9, VM — 1,8.

В отриманій статистиці також простежується вплив появи нових інструментів для автоматизованого пошуку помилок, статичного аналізу та тестування коду, таких як Syzkaller, KASAN, KMSAN та KCSAN. Наприклад, у 2010 році не було зафіксовано жодного виправлення помилки, знайденої протягом року. Тоді як протягом 2014 року було виявлено 31% «свіжих» помилок, у 2018 році — 54%, а у 2022 році — 69% помилок.
Читайте также: ChatGPT втрачає популярність. Користувачі все частіше дивляться в бік Google Gemini
Отримана статистика була використана для створення моделі машинного навчання VulnBERT, яка може передбачати наявність вразливостей у комітах. При тестуванні на коммітах за 2024 рік точність виявлення помилок становила 92,2% при рівні хибних спрацьовувань 1,2%. Для порівняння: попередня модель CodeBERT виявляла 89,2% проблем при хибних спрацьовуваннях 48,1%.
Нагадаємо, що не так давно з з Linux було видалено функцію d_genocide, яку звинуватили у «невідповідністі принципам інклюзивності».
https://highload.tech/uk/pomylku-v-yadri-linux-u-serednomu-pomichayut-cherez-2-roky/
Читайте также: Михайло Федоров розповів, коли почнеться бета-тестування національної LLM
