Diffblue — инструмент на базе искусственного интеллекта, который ищет и исправляет ошибки в коде Статьи редакции

Разработка оксфордских студентов.

Diffblue — инструмент для анализа программного кода, разработкой которого занимается группа студентов и преподавателей Оксфордского университета. В конце июня 2017 года команда объявила о привлечении $22 млн инвестиций от фондов Goldman Sachs Principal Strategic Investments, Oxford Sciences Innovations и Oxford Technology and Innovations Fund.

Инструмент, построенный на базе технологий искусственного интеллекта, просматривает написанный разработчиком код, находит в нём ошибки и исправляет их. Пока Diffblue способен анализировать код, написанный на Java или C, но компания планирует расширять технологический стек.

Сервис уже используют разработчики всех крупных британских банков, утверждает один из сооснователей компании в комментарии изданию Business Insider.

0
13 комментариев
Написать комментарий...
Денис Кулагин

Читать чужой код довольно трудно именно потому, что ты видишь сами конструкции, но не видишь мысль за ними. Поэтому в команде часто бывает такой диалог — "Расскажи на пальцах, что там происходит..." и человек объясняет свой ход мыслей. И сразу становиться понятно.

Как ИИ будет вычленять смысл из кода пока малопонятно, ведь нужно ещё и бизнес-контекст понимать. Пока это больше похоже на попытку скопировать функционал IDE или статических анализаторов кода, но с упоминанием хайповых ML и AI.

Если это не так, и парни действительно сделали принципиальный шаг в эволюции машинной аналитики кода — всяческих им успехов.

Ответить
Развернуть ветку
Сергей Макаров

Согласен, думаю анализ кода сопоставим с R#, не более.

Ответить
Развернуть ветку
Денис Кулагин

*становиТСЯ — это важно :)

Ответить
Развернуть ветку
Kirill Pisarenko

Согласен с вами, но еще хочется добавить, что подобные заявления могут быть просто пиаром. Ведь достаточно чтобы такой алгоритм исправлял "очевидные проблемы" (например строгое сравнение и тд) и уже можно заявлять, что "Diffblue — инструмент на базе искусственного интеллекта, который ищет и исправляет ошибки в коде"

Пусть сделают публичный доступ)))

Ответить
Развернуть ветку
Денис Кулагин

Думаю так и есть, как вы говорите. Хотя у любого стартапа всегда есть шанс увидеть то, что не увидели гиганты, типа JetBrains, и сделать прорыв.

Хотя в то, что те же JB сделают этот прорыв эволюционным путём, понимая реальные проблемы и потребности разработчиков мне верится больше :)

Ответить
Развернуть ветку
Bogomaz Artem

Я так понимаю этот стартап сразу нацелен на продажу IDE гигантами, тем не менее не понятно какие ошибки ищет

Ответить
Развернуть ветку
Dmitry Soroka

Сначала хотел написать "Пока ничего особенного, некоторые фичи, вроде замены циклов лямбдами уже есть в той же IDEA. Хотя да, обещают и много другого, вроде поиска deadlock-ов, предотвращения sql injection. ".

А затем стал читать дальше. Зайдите в Research.

Это начало эры, когда код будет писать код :)

Ответить
Развернуть ветку
Денис Кулагин

Код уже давно пишет код — в любом мало-мальски большом проекте есть автоматически сгенерированные классы.

Тут прорыв в том, что раньше код генерировался по структурированным данным, а парни замахнулись на неструктурированные.

Ответить
Развернуть ветку
Сергей Токарев

если не фейк, то думаю, JetBrains через некоторое время выкатит похожий функционал

Ответить
Развернуть ветку
Денис Кулагин

Не факт. Есть зрелые продукты по анализу и автогенерации кода, тот же SonarQube, которые живут своей жизнью и JB не лезет на их территорию.

IDE есть IDE, её

Ответить
Развернуть ветку
Денис Кулагин

никакие анализаторы не заменят. Вопрос в том, чтобы умело интегрировать смежные решения в свою эко-систему и JetBrains с этой задачей справляются великолепно.

Ответить
Развернуть ветку
Максим Герасимов

Чтобы найти и исправить говно-код, нужно быть бывшим говно-кодером!

Ответить
Развернуть ветку
Алексей Тарасов

Здесь - "Diffblue — инструмент на базе искусственного интеллекта, который ищет и исправляет ошибки в коде". На сайте - "Automatic Test Generation".

Этот инструмент просто находит известные ему конструкции (вроде циклов) и генерирует под них шаблонные тесты. Там даже гифки про это рассказывают.

Ответить
Развернуть ветку
10 комментариев
Раскрывать всегда