Intel vydává ControlFlag 1.2, nástroj pro detekci anomálií ve zdrojovém kódu

Společnost Intel zveřejnila vydání ControlFlag 1.2, sady nástrojů, která umožňuje identifikovat chyby a anomálie ve zdrojovém kódu pomocí systému strojového učení trénovaného na velkém množství existujícího kódu. Na rozdíl od tradičních statických analyzátorů ControlFlag neuplatňuje hotová pravidla, ve kterých je obtížné poskytnout všechny možné možnosti, ale je založen na statistikách o použití různých jazykových konstrukcí ve velkém počtu existujících projektů. Kód ControlFlag je napsán v C++ a je open source pod licencí MIT.

Nová verze je pozoruhodná implementací plné podpory pro detekci a učení anomálií na základě běžných vzorů kódu pro jazyk C++. V předchozích verzích byla podobná podpora poskytována pro jazyky C a PHP. Systém je vhodný pro identifikaci různých typů problémů v kódu, od identifikace překlepů a typových neshod až po identifikaci anomálií v příkazech if a chybějících kontrol NULL v ukazatelích. Systém je trénován vytvořením statistického modelu stávajícího kódového pole open source projektů v C, C++ a PHP, publikovaných na GitHubu a podobných veřejných úložištích.

Ve fázi školení systém určuje typické vzory pro vytváření struktur v kódu a vytváří syntaktický strom spojení mezi těmito vzory, odrážející tok provádění kódu v programu. Výsledkem je vytvoření referenčního rozhodovacího stromu, který kombinuje vývojové zkušenosti všech analyzovaných zdrojových kódů. Kontrolovaný kód prochází podobným procesem identifikace vzorů, které jsou kontrolovány podle referenčního rozhodovacího stromu. Velké nesrovnalosti se sousedními větvemi naznačují přítomnost anomálie v kontrolovaném vzoru.

Intel vydává ControlFlag 1.2, nástroj pro detekci anomálií ve zdrojovém kódu


Zdroj: opennet.ru

Přidat komentář