DeepCode знойдзе памылкі ў зыходным кодзе ПЗ пры дапамозе ІІ

Сёння швейцарскі стартап DeepCode, Які выкарыстоўвае штучны інтэлект і машыннае навучанне для аўтаматызацыі аналізу праграмнага кода, абвясціў аб атрыманні інвестыцый у памеры 4 мільёнаў даляраў ад венчурных фондаў Earlybird, 3VC і Btov Partners. Кампанія плануе выдаткаваць дадзеныя сродкі для ўкаранення падтрымкі ў свой сэрвіс новых моў праграмавання, а таксама маркетынг прадукта на глабальным ІТ-рынку.

DeepCode знойдзе памылкі ў зыходным кодзе ПЗ пры дапамозе ІІ

Аналіз кода неабходны для выяўлення памылак, патэнцыйных уразлівасцяў, парушэнняў агульнапрынятага стылю фарматавання і шмат чаго іншага на ранніх этапах распрацоўкі праграмнага забеспячэння, перш чым код будзе дзе-небудзь выкарыстаны. Звычайна гэтая працэдура праводзіцца паралельна з распрацоўкай новага кода і адразу пасля таго, як ён будзе завершаны, папярэднічаючы этап непасрэдна тэсціравання. "Тэставанне праграмнага забеспячэння глядзіць на код звонку, але аналіз кода дазваляе вам зірнуць на яго знутры", – тлумачыць сузаснавальнік і генеральны дырэктар DeepCode Барыс Паскалеў (Boris Paskalev) у інтэрв'ю выданню VentureBeat.

Часцей за ўсё праверка кода выконваецца яго аўтарамі сумесна з калегамі і мэнэджэрамі з мэтай выяўлення відавочных памылак, перш чым пераходзіць да наступных этапаў распрацоўкі. І чым буйнейшы праект, тым больш радкоў кода неабходна праверыць, што займае значны аб'ём часу праграмістаў. Інструменты, якія павінны паскорыць дадзены працэс, існуюць ужо досыць даўно, напрыклад, статычныя аналізатары кода, такія як Coverity і PVS-Studio, але яны, як правіла, абмежаваныя ў сваіх магчымасцях, бо засяроджаныя на «раздражняльных і паўтаральных стылістычных праблемах, фарматаванні і невялікіх лагічных памылках», - тлумачыць Паскалеў.

DeepCode, у сваю чаргу, ахоплівае шырэйшае кола праблем, напрыклад, выяўляючы такія ўразлівасці, як магчымасці для міжсайтавага скрыптынгу і SQL-ін'екцый, бо закладзеныя ў яго алгарытмы не проста аналізуюць код як набор знакаў, але спрабуюць зразумець сэнс і мэта працы напісанай. праграмы. У аснове гэтага ляжыць сістэма машыннага навучання, якая выкарыстоўвае для свайго навучання мільярды радкоў кода з агульнадаступных праектаў з адчыненым зыходным кодам. DeepCode аналізуе папярэднія версіі кода і наступныя змены, якія былі ў яго ўнесены, каб вывучыць, якія памылкі і як выпраўлялі рэальныя праграмісты ў сваёй працы, а затым прапанаваць падобныя рашэнні для сваіх карыстальнікаў. Акрамя таго, сістэма выкарыстоўвае і традыцыйныя алгарытмы прагназавання для пошуку магчымых праблем у кодзе накшталт згаданых вышэй статычных аналізатараў.

Адно з ключавых пытанняў пры выкарыстанні DeepCode: наколькі надзейнай з'яўляецца аўтаматычная праверка кода? Дакладнасць аналізу менш за 100% азначае, што распрацоўшчыкам усё роўна давядзецца аналізаваць свой код уручную. У такім выпадку, колькі часу насамрэч вызваліць выкарыстанне інструментаў для аўтаматызацыі гэтай задачы? Па словах Паскалева, DeepCode зможа зэканоміць распрацоўнікам каля 50% часу, якое яны ў цяперашні час марнуюць на пошук памылак самастойна, што з'яўляецца дастаткова важкай лічбай.

Распрацоўнікі могуць падлучыць DeepCode да сваіх уліковых запісаў GitHub ці Bitbucket, а таксама прылада падтрымлівае лакальныя канфігурацыі GitLab. Дадаткова ў праекту ёсць адмысловы API, які дазваляе распрацоўнікам інтэграваць DeepCode ва ўласныя сістэмы для распрацоўкі. Пасля падлучэння да рэпазітара DeepCode будзе аналізаваць кожную змену кода і адзначаць патэнцыйныя праблемы.

DeepCode знойдзе памылкі ў зыходным кодзе ПЗ пры дапамозе ІІ

"У сярэднім распрацоўшчыкі марнуюць каля 30% свайго часу на пошук і ліквідацыю памылак, але DeepCode можа зэканоміць палову ад гэтага часу ўжо цяпер, а ў будучыні яшчэ больш", – сцвярджае Барыс. "Паколькі DeepCode вучыцца непасрэдна ў сусветнай супольнасці распрацоўшчыкаў, ён здольны выявіць больш праблем, чым калі-небудзь мог знайсці адзін чалавек або цэлая група рэцэнзентаў".

Акрамя сённяшняй навіны аб атрыманні інвестыцый, DeepCode таксама абвясціла аб новай каштоўнай палітыцы свайго прадукта. Да гэтага часу DeepCode быў бясплатным толькі для праектаў па распрацоўцы праграмнага забеспячэння з адчыненым зыходным кодам. Цяпер жа ён будзе бясплатным для выкарыстання ў любых адукацыйных мэтах і нават для камерцыйных кампаній, якія маюць менш за 30 распрацоўшчыкаў. Відавочна, што гэтым крокам стваральнікі DeepCode жадаюць зрабіць свой прадукт папулярнейшым у невялікіх каманд. Дадаткова DeepCode спаганяе 20 даляраў з распрацоўніка ў месяц пры разгортванні рашэння ў воблаку і 50 даляраў з распрацоўніка за лакальную падтрымку.

Раней каманда DeepCode ужо атрымлівала інвестыцыі ў памеры 1 мільён долараў. Маючы яшчэ 4 мільёны, кампанія заявіла, што плануе пашырыць падтрымоўваныя імі мовы праграмавання апроч Java, JavaScript і Python, у тым ліку дадаць падтрымку C#, PHP і C/C++. Яны таксама пацвердзілі, што працуюць над уласным інтэграваным асяроддзем распрацоўкі.



Крыніца: 3dnews.ru

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