DeepCode najde chyby ve zdrojovém kódu softwaru pomocí AI

Dnes švýcarský startup DeepCode, která využívá umělou inteligenci a strojové učení k automatizaci analýzy kódu, oznámila, že získala investici ve výši 4 milionů dolarů od rizikových fondů Earlybird, 3VC a Btov Partners. Společnost plánuje tyto prostředky použít k zavedení podpory nových programovacích jazyků do svých služeb a také k uvedení produktu na globální trh IT.

DeepCode najde chyby ve zdrojovém kódu softwaru pomocí AI

Analýza kódu je nezbytná k odhalení chyb, potenciálních zranitelností, narušení formátování a mnohem více v rané fázi vývoje softwaru, než je kód kdekoli použit. Obvykle se tento postup provádí souběžně s vývojem nového kódu a bezprostředně po jeho dokončení, před samotnou fází testování. „Testování softwaru se dívá na kód zvenčí, ale analýza kódu vám umožňuje podívat se na něj zevnitř,“ vysvětluje spoluzakladatel a generální ředitel DeepCode Boris Paskalev v rozhovoru pro VentureBeat.

Nejčastěji provádějí kontrolu kódu jeho autoři spolu s kolegy a manažery, aby identifikovali zjevné chyby před přechodem do dalších fází vývoje. A čím větší je projekt, tím více řádků kódu je třeba zkontrolovat, což programátorům zabere značné množství času. Nástroje, které by měly tento proces urychlit, existují již dlouhou dobu, jako jsou statické analyzátory kódu, jako je Coverity a PVS-Studio, ale jejich možnosti bývají omezené, protože se zaměřují na „otravné a opakující se stylistické problémy, formátování a malé logické chyby,“ vysvětluje Paskalev.

DeepCode zase pokrývá širší škálu problémů, například odhalování zranitelností, jako jsou příležitosti pro skriptování mezi stránkami a vkládání SQL, protože algoritmy v něm vložené neanalyzují kód pouze jako sadu znaků, ale snaží se pochopit význam a účel práce psaných programů. Jádrem toho je systém strojového učení, který ke svému školení využívá miliardy řádků kódu z veřejně dostupných open source projektů. DeepCode analyzuje předchozí verze kódu a následné změny, které v něm byly provedeny, aby zjistil, jaké chyby a jak skuteční programátoři opravili svou práci, a poté nabízí podobná řešení svým uživatelům. Kromě toho systém také používá tradiční predikční algoritmy k nalezení možných problémů v kódu, jako jsou výše uvedené statické analyzátory.

Jednou z klíčových otázek při používání DeepCode je: jak spolehlivá je automatická kontrola kódu? Přesnost analýzy menší než 100 % znamená, že vývojáři budou muset svůj kód analyzovat ručně. Pokud ano, kolik času ve skutečnosti uvolní používání nástrojů k automatizaci tohoto úkolu? Podle Paskaleva bude DeepCode schopen ušetřit vývojářům zhruba 50 % času, který v současné době tráví hledáním chyb samostatně, což je poměrně významný údaj.

Vývojáři mohou připojit DeepCode ke svým účtům GitHub nebo Bitbucket a nástroj také podporuje místní konfigurace GitLab. Projekt má navíc speciální API, které umožňuje vývojářům integrovat DeepCode do jejich vlastních vývojových systémů. Po připojení k úložišti DeepCode analyzuje každou změnu kódu a označí potenciální problémy.

DeepCode najde chyby ve zdrojovém kódu softwaru pomocí AI

„Vývojáři tráví v průměru asi 30 % svého času hledáním a opravou chyb, ale DeepCode může ušetřit polovinu tohoto času nyní a ještě více v budoucnu,“ říká Boris. "Protože se DeepCode učí přímo od globální komunity vývojářů, je schopen najít více problémů, než by kdy mohl najít jeden člověk nebo celá skupina recenzentů."

Kromě dnešních zpráv o přijímání investic oznámil DeepCode také novou hodnotovou politiku pro svůj produkt. Až dosud byl DeepCode zdarma pouze pro projekty vývoje softwaru s otevřeným zdrojovým kódem. Nyní bude zdarma k použití pro jakékoli vzdělávací účely a dokonce i pro komerční společnosti s méně než 30 vývojáři. Je zřejmé, že tímto krokem chtějí tvůrci DeepCode učinit svůj produkt populárnějším mezi malými týmy. DeepCode si navíc účtuje 20 USD za vývojáře měsíčně za nasazení cloudu a 50 USD za vývojáře za místní podporu.

Již dříve tým DeepCode obdržel investice ve výši 1 milionu dolarů. S dalšími 4 miliony společnost uvedla, že plánuje rozšířit programovací jazyky, které podporuje, mimo Java, JavaScript a Python, včetně přidání podpory pro C#, PHP a C/C++. Potvrdili také, že pracují na vlastním integrovaném vývojovém prostředí.



Zdroj: 3dnews.ru

Přidat komentář