Avaldatud on uurimistulemused Linuxi sĂŒdamiku koodi vigade avastamise ja kĂ”rvaldamise ajast. Andmed saadi 125 000 vea analĂŒĂŒsi tulemusena, mis on mĂ€rgitud Git-repos tag'iga "Fixes:", viidates commit'ile, kus viga tekkis. Keskmine vea avastamise aeg sĂŒdamikus oli 2,1 aastat. Kui vaadata ainult 2025. aastal parandatud vigu, siis oli see nĂ€itaja 2,8 aastat.
30% vigadest parandati samade arendajate poolt, kes need tekitasid. 56,9% vigadest kĂ”rvaldatakse ĂŒhe aasta jooksul. 13,5% vigadest jĂ€i mĂ€rkamatuks rohkem kui 5 aastaks (kui vaadata ainult 2025. aastal parandatud vigu â 19,4%). EbaĂŒhtlase jaotuse tĂ”ttu oli keskmine vea olemasolu aeg sĂŒdamiku koodis 8 kuud valimi jaoks aastast 2005 ja 1 aasta 2025. aastal parandatud vigade puhul. Pikim kestnud viga koodis oli puhverĂŒlevus ethtoolis, mis kĂ”rvalditi 20,7 aasta pĂ€rast.

Vigade avastamise dĂŒnaamika erineb mĂ€rgatavalt keskmisest vÀÀrtusest mĂ”nedes alamsĂŒsteemides, nĂ€iteks CAN bussijuhi ja SCTP stack'i puhul vĂ”tab probleemide avastamine keskmiselt umbes 4 aastat, IPv4 stack'i puhul â 3,6 aastat, USB ja TTY â 3,5, Netfilter ja vĂ”rgu stack â 2,9, VM â 1,8, GPU â 1,4, BPF â 1,1 aastat.

Vea avastamise aeg korreleerub vea tĂŒĂŒpidega: keskmine avastamisaeg, mis on seotud vĂ”idusĂ”iduolukordadega, oli 5,1 aastat, tĂ€isarvude ĂŒleujutuse puhul â 3,9, mĂ€lu vabastamise jĂ€rel juurdepÀÀsu korral â 3,2, puhverĂŒlevuse ja mĂ€lu lekkimise korral â 3,1, viite loendamise puhul â 2,8, nullviidete dereferentsi ja vastastikuste lukustuste korral â 2,2 aastat.
Saadav statistika nĂ€itab ka uute automatiseeritud veaotsimisvahendite, staatilise analĂŒĂŒsi ja koodi testimise tööriistade, nagu Syzkaller, KASAN, KMSAN ja KCSAN, rakendamise mĂ”ju. NĂ€iteks 2010. aastal ei registreeritud aasta jooksul ĂŒhtegi vea parandust. 2014. aastal tuvastati aastas 31% vigadest, 2018. aastal â 54%, ja 2022. aastal â 69% vigadest.
Saadud statistikat kasutati masinÔppemudeli VulnBERT loomisel, mis ennustab haavatavuste olemasolu commit'ides. 2024. aasta commit'ide testimisel oli vea avastamise tÀpsus 92,2% valehÀirete mÀÀraga 1,2% (vÔrdluseks varasem kergesti kÀtte saadav mudel CodeBERT tuvastas 89,2% probleemidest valehÀirete tasemega 48,1%).
Allikas: opennet.ru
