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

Додати коментар або відгук