DeepCode ras programinės įrangos šaltinio kodo klaidas naudodamas AI

Šiandien Šveicarijos startuolis DeepCode, kuri naudoja dirbtinį intelektą ir mašininį mokymąsi kodų analizei automatizuoti, paskelbė gavusi 4 mln. USD investicijų iš rizikos fondų „Earlybird“, „3VC“ ir „Btov Partners“. Šias lėšas bendrovė planuoja panaudoti naujų programavimo kalbų palaikymui į savo paslaugą įtraukti, taip pat prekiauti gaminiu pasaulinėje IT rinkoje.

DeepCode ras programinės įrangos šaltinio kodo klaidas naudodamas AI

Kodo analizė yra būtina norint aptikti klaidas, galimus pažeidžiamumus, formatavimo pažeidimus ir dar daugiau programinės įrangos kūrimo pradžioje, prieš pradedant naudoti kodą. Paprastai ši procedūra atliekama lygiagrečiai su naujo kodo kūrimu ir iškart po jo užbaigimo, prieš patį testavimo etapą. „Programinės įrangos testavimas žiūri į kodą iš išorės, tačiau kodo analizė leidžia pažvelgti į jį iš vidaus“, - interviu su VentureBeat aiškina DeepCode įkūrėjas ir generalinis direktorius Borisas Paskalevas.

Dažniausiai kodo peržiūrą atlieka jo autoriai kartu su kolegomis ir vadovais, siekdami nustatyti akivaizdžias klaidas prieš pereinant į kitus kūrimo etapus. Ir kuo didesnis projektas, tuo daugiau kodo eilučių reikia patikrinti, o tai užima daug programuotojų laiko. Įrankiai, kurie turėtų pagreitinti šį procesą, buvo naudojami jau seniai, pavyzdžiui, statiniai kodo analizatoriai, tokie kaip „Coverity“ ir „PVS-Studio“, tačiau jų galimybės paprastai būna ribotos, nes daugiausia dėmesio skiria „erzinančioms ir pasikartojančioms stilistinėms problemoms, formatavimui ir mažų loginių klaidų“, – aiškina Paskalevas.

DeepCode, savo ruožtu, apima platesnį problemų spektrą, pavyzdžiui, pažeidžiamumų, tokių kaip scenarijų sudarymo įvairiose svetainėse ir SQL injekcijos galimybės, aptikimą, nes į jį įterpti algoritmai ne tik analizuoja kodą kaip simbolių rinkinį, bet ir bando suprasti darbo parašytų programų prasmę ir paskirtį. Jos esmė yra mašininio mokymosi sistema, kuri savo mokymui naudoja milijardus eilučių kodo iš viešai prieinamų atvirojo kodo projektų. „DeepCode“ analizuoja ankstesnes kodo versijas ir vėlesnius jo pakeitimus, kad išsiaiškintų, kokias klaidas ir kaip tikri programuotojai ištaisė savo darbą, o vėliau siūlo panašius sprendimus savo vartotojams. Be to, sistema taip pat naudoja tradicinius numatymo algoritmus, kad surastų galimas kodo problemas, pvz., pirmiau minėtus statinius analizatorius.

Vienas iš pagrindinių klausimų naudojant DeepCode yra: kiek patikima yra automatinė kodo peržiūra? Mažesnis nei 100 % analizės tikslumas reiškia, kad kūrėjai vis tiek turės analizuoti savo kodą rankiniu būdu. Jei taip, kiek iš tikrųjų atlaisvins laiko naudojant įrankius šiai užduočiai automatizuoti? Paskalevo teigimu, „DeepCode“ kūrėjams galės sutaupyti apie 50% laiko, kurį jie šiuo metu praleidžia patys ieškodami klaidų, o tai yra gana reikšmingas skaičius.

Kūrėjai gali prijungti „DeepCode“ prie savo „GitHub“ arba „Bitbucket“ paskyrų, o įrankis taip pat palaiko vietines „GitLab“ konfigūracijas. Be to, projektas turi specialią API, leidžiančią kūrėjams integruoti DeepCode į savo kūrimo sistemas. Prisijungęs prie saugyklos, „DeepCode“ analizuos kiekvieną kodo pakeitimą ir pažymės galimas problemas.

DeepCode ras programinės įrangos šaltinio kodo klaidas naudodamas AI

„Vidutiniškai kūrėjai praleidžia apie 30 % savo laiko trikčių paieškai ir taisymui, tačiau „DeepCode“ gali sutaupyti pusę šio laiko dabar, o ateityje – dar daugiau“, – sako Borisas. „Kadangi „DeepCode“ mokosi tiesiogiai iš pasaulinės kūrėjų bendruomenės, jis gali rasti daugiau problemų, nei galėtų rasti vienas asmuo ar visa apžvalgininkų grupė.

Be šiandieninių naujienų apie investicijų gavimą, „DeepCode“ taip pat paskelbė apie naują savo produkto vertės politiką. Iki šiol „DeepCode“ buvo nemokama tik atvirojo kodo programinės įrangos kūrimo projektams. Dabar jis bus nemokamas bet kokiam švietimo tikslui ir net komercinėms įmonėms, kuriose yra mažiau nei 30 kūrėjų. Akivaizdu, kad šiuo žingsniu DeepCode kūrėjai nori padaryti savo produktą populiaresnį tarp mažų komandų. Be to, „DeepCode“ ima 20 USD vienam kūrėjui per mėnesį už debesies diegimą ir 50 USD vienam kūrėjui už vietinį palaikymą.

Anksčiau „DeepCode“ komanda jau buvo gavusi investicijų už 1 mln. Su dar 4 mln., bendrovė teigė, kad planuoja išplėsti palaikomas programavimo kalbas ne tik „Java“, „JavaScript“ ir „Python“, įskaitant C#, PHP ir C/C++ palaikymą. Jie taip pat patvirtino, kad kuria savo integruotą kūrimo aplinką.



Šaltinis: 3dnews.ru

Добавить комментарий