Intel vydáva ControlFlag 1.2, nástroj na zisťovanie anomálií v zdrojovom kóde

Spoločnosť Intel zverejnila vydanie ControlFlag 1.2, súpravy nástrojov, ktorá vám umožňuje identifikovať chyby a anomálie v zdrojovom kóde pomocou systému strojového učenia trénovaného na veľkom množstve existujúceho kódu. Na rozdiel od tradičných statických analyzátorov ControlFlag neuplatňuje hotové pravidlá, v ktorých je ťažké poskytnúť všetky možné možnosti, ale je založený na štatistikách o použití rôznych jazykových konštruktov vo veľkom počte existujúcich projektov. Kód ControlFlag je napísaný v C++ a je otvorený pod licenciou MIT.

Nové vydanie je pozoruhodné implementáciou plnej podpory pre detekciu anomálií a učenie založené na bežných kódových vzoroch pre jazyk C++. V predchádzajúcich verziách bola podobná podpora poskytovaná pre jazyky C a PHP. Systém je vhodný na identifikáciu rôznych typov problémov v kóde, od identifikácie preklepov a typových nezhôd až po identifikáciu anomálií v príkazoch if a chýbajúcich kontrol NULL v ukazovateľoch. Systém je trénovaný vytvorením štatistického modelu existujúceho kódového poľa projektov s otvoreným zdrojovým kódom v C, C++ a PHP, publikovaných na GitHub a podobných verejných úložiskách.

Vo fáze trénovania systém určuje typické vzory na vytváranie štruktúr v kóde a vytvára syntaktický strom spojení medzi týmito vzormi, ktorý odráža tok vykonávania kódu v programe. Výsledkom je vytvorenie referenčného rozhodovacieho stromu, ktorý kombinuje skúsenosti s vývojom všetkých analyzovaných zdrojových kódov. Skúmaný kód prechádza podobným procesom identifikácie vzorov, ktoré sa kontrolujú podľa referenčného rozhodovacieho stromu. Veľké rozdiely so susednými vetvami naznačujú prítomnosť anomálie v kontrolovanom vzore.

Intel vydáva ControlFlag 1.2, nástroj na zisťovanie anomálií v zdrojovom kóde


Zdroj: opennet.ru

Pridať komentár