DeepCode предлага преглед на код с AI за C и C ++

DeepCode, облачната услуга, която използва машинно обучение за анализ на кодови бази за недостатъци в сигурността и потенциални грешки, вече може да анализира C и C ++ кода.

Обучен чрез анализ на хиляди проекти с отворен код, DeepCode предоставя обратна връзка за проекти в платформи за хостинг на кодове или локални хранилища. Създателите на DeepCode твърдят, че той осигурява по-добра и по-подробна обратна връзка от традиционните инструменти за анализ на кода, тъй като анализира кода в контекст - не само като текст, но и като работещ софтуер.

Повечето уязвимости, открити в софтуера, се появяват в C или C ++ кодови бази. Колкото и мощни да са двата езика, те не осигуряват почти никаква защита срещу грешки на разработчиците и по-новите версии на тези езици са принудени да запазят обратна съвместимост и по този начин остават уязвими. 

Базата от знания на DeepCode обхваща много често срещани проблеми, открити в C и C ++, както и други езици: проблеми със стилове, изтичане на ресурси, проблеми с разпределението на паметта, проблеми с обработката на дати и несъвместимост между версиите на даден език.

При анализ на ядрото на Linux, DeepCode откри редица често срещани проблеми в C кодовите бази, включително несинимизирани параметри, предадени от аргументи на командния ред или променливи на околната среда, проблеми без употреба и липсващи проверки за нулеви указатели. Други проблеми в C кода са по-фини, като несигурното създаване на временни файлове или възможността някои инструкции да бъдат оптимизирани при компилация и да нямат желания ефект.

При първоначалното стартиране DeepCode поддържаше Java, JavaScript, TypeScript и Python, но плановете бяха на масата за C, C ++ и други езици. Според публикацията в блога, която обявява поддръжка на C / C ++, добавянето на кодов анализ за C и C ++ отнема три месеца работа, поради сложностите, включващи функциите на C / C ++ на ниско ниво.