Intel апублікаваў ControlFlag 1.2, прылада для выяўлення анамалій у зыходных тэкстах

Кампанія Intel апублікавала выпуск інструментара ControlFlag 1.2, які дазваляе выяўляць памылкі і анамаліі ў зыходных тэкстах, выкарыстоўваючы сістэму машыннага навучання, натрэніраваную на вялікім аб'ёме існуючага кода. У адрозненне ад традыцыйных статычных аналізатараў, ControlFlag не прымяняе гатовых правіл, у якіх цяжка прадугледзець усе магчымыя варыянты, а адштурхваецца ад статыстыкі выкарыстання разнастайных моўных канструкцый у вялікай колькасці існуючых праектаў. Код ControlFlag напісаны на мове З і адкрыты пад ліцэнзіяй MIT.

Новы выпуск адметны рэалізацыяй поўнай падтрымкі выяўлення анамалій і навучанні на аснове тыпавых шаблонаў кода для мовы З++. У мінулых версіях падобная падтрымка была забяспечана для моў C і PHP. Сістэма падыходзіць для вызначэння ў кодзе розных відаў праблем, ад вызначэння памылак друку і няправільнага спалучэння тыпаў, да выяўлення анамалій ва ўмоўных выразах «if» і прапушчаных праверак значэння NULL ва паказальніках. Сістэма навучаецца шляхам пабудовы статыстычнай мадэлі наяўнага масіва кода адкрытых праектаў на мовах C, C++ і PHP, апублікаваных у GitHub і падобных публічных рэпазітарах.

На стадыі навучання сістэма вызначае тыпавыя шаблоны пабудовы канструкцый у кодзе і будуе сінтаксічнае дрэва сувязяў паміж гэтымі шаблонамі, якое адлюстроўвае паток выканання кода ў праграме. У выніку фармуецца эталоннае дрэва прыняцця рашэнняў, якое аб'ядноўвае досвед распрацоўкі ўсіх прааналізаваных зыходных тэкстаў. Для правяраемага кода выконваецца падобны працэс вызначэння шаблонаў, якія спраўджваюцца з эталонным дрэвам прыняцця рашэнняў. Вялікія разыходжанні з суседнімі галінамі сведчаць аб наяўнасці анамаліі ў правярае шаблоне.

Intel апублікаваў ControlFlag 1.2, прылада для выяўлення анамалій у зыходных тэкстах


Крыніца: opennet.ru

Дадаць каментар