Intel avaldab ControlFlag 1.2, tööriista lähtekoodi anomaaliate tuvastamiseks

Intel on avaldanud ControlFlag 1.2 väljalase – tööriistakomplekti, mis võimaldab tuvastada lähtekoodi vigu ja kõrvalekaldeid, kasutades masinõppesüsteemi, mis on koolitatud suure hulga olemasoleva koodi põhjal. Erinevalt traditsioonilistest staatilistest analüsaatoritest ei rakenda ControlFlag valmisreegleid, milles on raske ette näha kõiki võimalikke valikuid, vaid põhineb statistikal erinevate keelekonstruktsioonide kasutamise kohta paljudes olemasolevates projektides. ControlFlagi kood on kirjutatud C++ keeles ja on avatud lähtekoodiga MIT litsentsi alusel.

Uus väljalase on tähelepanuväärne selle poolest, et see pakub täielikku tuge anomaaliate tuvastamiseks ja õppimiseks, mis põhinevad C++ keele ühistel koodimustritel. Varasemates versioonides pakuti sarnast tuge ka C- ja PHP-keeltele. Süsteem sobib koodis erinevat tüüpi probleemide tuvastamiseks, alates kirjavigade ja tüübi mittevastavuse tuvastamisest kuni anomaaliate tuvastamiseni if-lausete ja puuduvate NULL-kontrollide tuvastamiseks osutites. Süsteemi koolitatakse, luues C, C++ ja PHP avatud lähtekoodiga projektide olemasoleva koodimassiivi statistilise mudeli, mis on avaldatud GitHubis ja sarnastes avalikes hoidlates.

Koolitusetapis määrab süsteem koodis struktuuride konstrueerimiseks tüüpilised mustrid ja koostab nende mustrite vahel seostest süntaktilise puu, mis peegeldab programmis koodi täitmise voogu. Selle tulemusena moodustub võrdlusotsuste tegemise puu, mis ühendab kõigi analüüsitud lähtekoodide arenduskogemuse. Vaadeldav kood läbib sarnase protsessi, mille käigus tuvastatakse mustrid, mida kontrollitakse võrdlusotsuste puuga. Suured lahknevused naaberharudega näitavad anomaalia olemasolu kontrollitavas mustris.

Intel avaldab ControlFlag 1.2, tööriista lähtekoodi anomaaliate tuvastamiseks


Allikas: opennet.ru

Lisa kommentaar