Intel publiseer ControlFlag 1.2, 'n instrument om afwykings in bronkode op te spoor

Intel het die vrystelling van ControlFlag 1.2 gepubliseer, 'n gereedskapstel waarmee u foute en anomalieë in bronkode kan identifiseer deur 'n masjienleerstelsel te gebruik wat op 'n groot hoeveelheid bestaande kode opgelei is. Anders as tradisionele statiese ontleders pas ControlFlag nie klaargemaakte reëls toe waarin dit moeilik is om vir alle moontlike opsies voorsiening te maak nie, maar is gebaseer op statistieke oor die gebruik van verskeie taalkonstrukte in 'n groot aantal bestaande projekte. Die ControlFlag-kode is in C++ geskryf en is oopbron onder die MIT-lisensie.

Die nuwe weergawe is opvallend vir die implementering van volledige ondersteuning vir anomalie-opsporing en -leer gebaseer op algemene kodepatrone vir die C++-taal. In vorige weergawes is soortgelyke ondersteuning vir C- en PHP-tale verskaf. Die stelsel is geskik vir die identifisering van verskeie tipes probleme in kode, van die identifisering van tikfoute en tipe wanpassings, tot die identifisering van anomalieë in if-stellings en ontbrekende NULL-tjeks in wysers. Die stelsel word opgelei deur 'n statistiese model te bou van die bestaande kodereeks van oopbronprojekte in C, C++ en PHP, gepubliseer in GitHub en soortgelyke openbare bewaarplekke.

Op die opleidingstadium bepaal die stelsel tipiese patrone vir die konstruksie van strukture in die kode en bou 'n sintaktiese boom van verbindings tussen hierdie patrone, wat die vloei van kode-uitvoering in die program weerspieël. As gevolg hiervan word 'n verwysingsbesluitnemingsboom gevorm wat die ontwikkelingservaring van alle geanaliseerde bronkodes kombineer. Die kode wat hersien word, ondergaan 'n soortgelyke proses om patrone te identifiseer wat teen 'n verwysingsbesluitboom gekontroleer word. Groot verskille met naburige takke dui op die teenwoordigheid van 'n anomalie in die patroon wat nagegaan word.

Intel publiseer ControlFlag 1.2, 'n instrument om afwykings in bronkode op te spoor


Bron: opennet.ru

Voeg 'n opmerking