Analisi delle correzioni di errori nel kernel Linux — in media, gli errori vengono notati dopo 2 anni

Sono stati pubblicati i risultati di uno studio sul tempo di rilevamento e risoluzione degli errori nel codice del kernel Linux. I dati sono stati ottenuti analizzando 125.000 errori contrassegnati nel repository Git con il tag "Fixes:", che si riferisce al commit in cui è stato introdotto l'errore. Il tempo medio di rilevamento degli errori nel kernel è stato di 2,1 anni. Considerando solo gli errori corretti nel 2025, questo dato è stato di 2,8 anni.

Il 30% degli errori è stato corretto dagli stessi sviluppatori che hanno introdotto gli errori. Il 56,9% degli errori viene risolto entro un anno. Il 13,5% degli errori è rimasto inosservato per oltre 5 anni (se si considerano solo gli errori corretti nel 2025 — il 19,4%). A causa della distribuzione non uniforme, il tempo mediano di esistenza degli errori nel codice del kernel è stato di 8 mesi per il campione dal 2005 e di 1 anno per gli errori corretti nel 2025. L'errore più a lungo presente nel codice è stato un overflow del buffer in ethtool, risolto dopo 20,7 anni.

L'analisi della correzione degli errori nel kernel Linux - in media gli errori vengono rilevati dopo 2 anni.

La dinamica di rilevamento degli errori differisce notevolmente dalla media per alcuni sottosistemi; ad esempio, nel driver del bus CAN e nello stack SCTP, il rilevamento dei problemi richiede in media circa 4 anni, nello stack IPv4 3,6 anni, USB e TTY 3,5, Netfilter e lo stack di rete 2,9, VM 1,8, GPU 1,4, BPF 1,1 anno.

L'analisi della correzione degli errori nel kernel Linux - in media gli errori vengono rilevati dopo 2 anni.

Il tempo di rilevamento è correlato ai tipi di errori: il tempo medio di rilevamento degli errori legati a condizioni di race è stato di 5,1 anni, overflow interi 3,9, accesso dopo il rilascio della memoria 3,2, overflow del buffer e perdite di memoria 3,1, conteggio dei riferimenti 2,8, dereferenziazione di puntatori nulli e deadlock 2,2 anni.

Nelle statistiche ottenute si evidenzia anche l'impatto dell'implementazione di nuovi strumenti per la ricerca automatizzata di errori, analisi statica e testing del codice, come Syzkaller, KASAN, KMSAN e KCSAN. Ad esempio, nel 2010 non sono stati registrati fix di errori trovati durante l'anno. Nel 2014, durante l'anno veniva rilevato il 31% degli errori, nel 2018 il 54%, e nel 2022 il 69% degli errori.

Le statistiche raccolte sono state utilizzate per sviluppare il modello di machine learning VulnBERT, in grado di prevedere la presenza di vulnerabilità nei commit. Durante i test su commit del 2024, la precisione nella rilevazione degli errori ha raggiunto il 92,2% con un tasso di falsi positivi dell'1,2% (a titolo di confronto, il precedente modello disponibile CodeBERT rilevava l'89,2% dei problemi con un tasso di falsi positivi del 48,1%).

Fonte: opennet.ru

Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS 🔥 Acquista un hosting affidabile per siti con protezione DDoS, server VPS VDS | ProHoster