DeepCode znajdzie błędy w kodzie źródłowym oprogramowania przy użyciu sztucznej inteligencji

Dziś szwajcarski startup Głęboki kod, która wykorzystuje sztuczną inteligencję i uczenie maszynowe do automatyzacji analizy kodu, ogłosiła, że ​​otrzymała inwestycje o wartości 4 milionów dolarów od funduszy venture Earlybird, 3VC i Btov Partners. Spółka planuje przeznaczyć te środki na wprowadzenie do swojej usługi obsługi nowych języków programowania, a także wypromowanie produktu na globalnym rynku IT.

DeepCode znajdzie błędy w kodzie źródłowym oprogramowania przy użyciu sztucznej inteligencji

Analiza kodu jest konieczna do wykrycia błędów, potencjalnych luk w zabezpieczeniach, naruszeń formatowania i na wcześniejszym etapie tworzenia oprogramowania, zanim kod zostanie gdziekolwiek użyty. Zazwyczaj zabieg ten przeprowadza się równolegle z tworzeniem nowego kodu oraz bezpośrednio po jego zakończeniu, poprzedzając sam etap testowania. „Testowanie oprogramowania patrzy na kod z zewnątrz, ale analiza kodu pozwala spojrzeć na niego od środka” – wyjaśnia współzałożyciel i dyrektor generalny DeepCode Boris Paskalev w wywiadzie dla VentureBeat.

Najczęściej przeglądu kodu dokonują jego autorzy wraz ze współpracownikami i menedżerami w celu zidentyfikowania oczywistych błędów przed przejściem do kolejnych etapów rozwoju. A im większy projekt, tym więcej linii kodu należy sprawdzić, co zajmuje znaczną ilość czasu programistów. Narzędzia, które powinny przyspieszyć ten proces, istnieją już od dawna, takie jak statyczne analizatory kodu, takie jak Coverity i PVS-Studio, ale ich możliwości są zwykle ograniczone, ponieważ skupiają się na „irytujących i powtarzalnych problemach stylistycznych, formatowaniu i drobne błędy logiczne” – wyjaśnia Paskalow.

DeepCode z kolei obejmuje szerszy zakres problemów, na przykład wykrywając podatności, takie jak możliwości cross-site scripting i wstrzykiwanie SQL, ponieważ wbudowane w niego algorytmy nie tylko analizują kod jako zbiór znaków, ale starają się rozumieć znaczenie i cel napisanych programów. Sercem tego jest system uczenia maszynowego, który do szkolenia wykorzystuje miliardy linii kodu z publicznie dostępnych projektów open source. DeepCode analizuje poprzednie wersje kodu i kolejne zmiany, jakie w nim wprowadzono, aby zbadać, jakie błędy i jak prawdziwi programiści poprawiali swoją pracę, a następnie zaproponować podobne rozwiązania swoim użytkownikom. Ponadto system wykorzystuje również tradycyjne algorytmy predykcyjne do wyszukiwania ewentualnych problemów w kodzie, takie jak wspomniane powyżej analizatory statyczne.

Jednym z kluczowych pytań podczas korzystania z DeepCode jest: jak niezawodny jest automatyczny przegląd kodu? Dokładność analizy mniejsza niż 100% oznacza, że ​​programiści nadal będą musieli ręcznie analizować swój kod. Jeśli tak, ile czasu faktycznie zwolni korzystanie z narzędzi automatyzujących to zadanie? Według Paskalewa DeepCode będzie w stanie zaoszczędzić programistom około 50% czasu, jaki obecnie spędzają na samodzielnym wyszukiwaniu błędów, co jest dość znaczącą liczbą.

Programiści mogą połączyć DeepCode ze swoimi kontami GitHub lub Bitbucket, a narzędzie obsługuje również lokalne konfiguracje GitLab. Dodatkowo projekt posiada specjalne API, które umożliwia programistom integrację DeepCode z ich własnymi systemami programistycznymi. Po podłączeniu do repozytorium DeepCode przeanalizuje każdą zmianę kodu i zasygnalizuje potencjalne problemy.

DeepCode znajdzie błędy w kodzie źródłowym oprogramowania przy użyciu sztucznej inteligencji

„Programiści spędzają średnio około 30% swojego czasu na wyszukiwaniu i naprawianiu błędów, ale DeepCode może teraz zaoszczędzić połowę tego czasu, a w przyszłości jeszcze więcej” – mówi Boris. „Ponieważ DeepCode uczy się bezpośrednio od globalnej społeczności programistów, jest w stanie znaleźć więcej problemów, niż byłaby w stanie znaleźć jedna osoba lub cała grupa recenzentów”.

Oprócz dzisiejszych wiadomości o otrzymaniu inwestycji, DeepCode ogłosił także nową politykę wartości swojego produktu. Do tej pory DeepCode był bezpłatny tylko dla projektów rozwoju oprogramowania typu open source. Teraz będzie można go bezpłatnie używać do celów edukacyjnych, a nawet dla firm komercyjnych zatrudniających mniej niż 30 programistów. Oczywiście tym krokiem twórcy DeepCode chcą zwiększyć popularność swojego produktu wśród małych zespołów. Ponadto DeepCode pobiera opłatę w wysokości 20 USD od programisty miesięcznie za wdrożenie w chmurze i 50 USD od programisty za wsparcie lokalne.

Wcześniej zespół DeepCode otrzymał już inwestycje o wartości 1 miliona dolarów. Firma oświadczyła, że ​​planuje rozszerzyć obsługiwane języki programowania poza Java, JavaScript i Python, dysponując kolejnymi 4 milionami, w tym dodając obsługę C#, PHP i C/C++. Potwierdzili również, że pracują nad własnym zintegrowanym środowiskiem programistycznym.



Źródło: 3dnews.ru

Dodaj komentarz