Intel publicē ControlFlag 1.2 — rīku avota koda anomāliju noteikšanai

Intel ir publicējis versiju ControlFlag 1.2 — rīkkopu, kas ļauj identificēt kļūdas un anomālijas avota kodā, izmantojot mašīnmācīšanās sistēmu, kas apmācīta lielam daudzumam esošā koda. Atšķirībā no tradicionālajiem statiskajiem analizatoriem ControlFlag nepiemēro gatavus noteikumus, kuros ir grūti paredzēt visas iespējamās iespējas, bet ir balstīts uz statistiku par dažādu valodas konstrukciju izmantošanu daudzos esošos projektos. ControlFlag kods ir rakstīts C++ valodā un ir atvērts ar MIT licenci.

Jaunais laidiens ir ievērojams ar to, ka tiek ieviests pilnīgs atbalsts anomāliju noteikšanai un mācīšanās, pamatojoties uz kopīgiem C++ valodas koda modeļiem. Iepriekšējās versijās līdzīgs atbalsts tika nodrošināts C un PHP valodām. Sistēma ir piemērota, lai identificētu dažāda veida problēmas kodā, sākot no drukas kļūdu un tipu neatbilstības noteikšanas, līdz anomāliju identificēšanai ja paziņojumos un trūkstošajām NULL pārbaudēm rādītājos. Sistēma tiek apmācīta, izveidojot statistisko modeli esošajam atvērtā pirmkoda projektu koda masīvam C, C++ un PHP, kas publicēts GitHub un līdzīgos publiskajos repozitorijās.

Apmācības posmā sistēma nosaka tipiskus modeļus koda struktūru konstruēšanai un izveido sintaktisko savienojumu koku starp šiem modeļiem, atspoguļojot koda izpildes plūsmu programmā. Rezultātā tiek izveidots atsauces lēmumu pieņemšanas koks, kas apvieno visu analizēto pirmkodu izstrādes pieredzi. Pārskatāmajam kodam tiek veikts līdzīgs process, lai identificētu modeļus, kas tiek pārbaudīti, salīdzinot ar atsauces lēmumu koku. Lielas neatbilstības ar blakus esošajiem zariem norāda uz pārbaudāmā modeļa anomāliju.

Intel publicē ControlFlag 1.2 — rīku avota koda anomāliju noteikšanai


Avots: opennet.ru

Pievieno komentāru