Linuxi tuuma vigade parandamise analĂŒĂŒs — keskmiselt mĂ€rgatakse vigu kahe aasta pĂ€rast

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.

Linuxi sĂŒdamiku vigade parandamise analĂŒĂŒs - keskmiselt tuvastatakse vead kahe aasta jooksul

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.

Linuxi sĂŒdamiku vigade parandamise analĂŒĂŒs - keskmiselt tuvastatakse vead kahe aasta jooksul

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

Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne veebihosting DDoS kaitsega, VPS VDS serverid | ProHoster