Intel ettevĂ”te avaldas ControlFlag 1.2 tööriista, mis vĂ”imaldab tuvastada vigu ja anomaaliaid lĂ€htekoodides, kasutades masinĂ”ppe sĂŒsteemi, mis on koolitatud suure hulga olemasoleva koodi pĂ”hjal. Erinevalt traditsioonilistest staatilistest analĂŒsaatoritest ei kasuta ControlFlag valmis reegleid, kus on keeruline ette nĂ€ha kĂ”iki vĂ”imalikke variante, vaid pĂ”hineb statistikal, mis kĂ€sitleb erinevate keelestruktuuride kasutust suurtes olemasolevates projektides. ControlFlag'i kood on kirjutatud C++ keeles ja on avatud MIT litsentsi alusel.
Uus vĂ€ljaanne on mĂ€rkimisvÀÀrne, kuna see implementib tĂ€iusliku toe anomaaliate tuvastamiseks ja Ă”ppimiseks, kasutades C++ keele tĂŒĂŒpilisi koodimalle. Eelnevates versioonides oli sarnane tugi tagatud C ja PHP keelte jaoks. SĂŒsteem sobib erinevate probleemide mÀÀratlemiseks koodis, alates trĂŒkivigade ja vale tĂŒĂŒpide kombinatsioonide tuvastamisest kuni anomaaliate tuvastamiseni "if" tingimuslausete puhul ja NULL vÀÀrtuse tĂ”endite puudumisega pointerites. SĂŒsteem Ă”ppib, koostades statistilise mudeli olemasolevatest avatud projektide koodidest C, C++ ja PHP keeltes, mis on avaldatud GitHubis ja sarnastes avalikes hoidlates.
Ăppimise staadiumis mÀÀrab sĂŒsteem tĂŒĂŒpilised struktuuride mallid koodis ja koostab sĂŒnteetilise puu seoseid nende mallide vahel, mis peegeldab programmi koodi tĂ€itmise voogu. LĂ”puks moodustub viidatud otsuste puu, mis ĂŒhendab kĂ”igi analĂŒĂŒsitud lĂ€htekoodide arendamise kogemust. Kontrollitava koodi puhul toimub sarnane protsess mallide mÀÀratlemiseks, mis vĂ”rreldakse viidatud otsuste puuga. Suured kĂ”rvalekalded naabervarianteest viitavad anomaalia olemasolule kontrollitavas mallis.

Allikas: opennet.ru
