Оффтоп Daria Khokhlova
2 456

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

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

В закладки

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

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

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

#Идеи

{ "author_name": "Daria Khokhlova", "author_type": "editor", "tags": ["\u0438\u0434\u0435\u0438"], "comments": 13, "likes": 16, "favorites": 1, "is_advertisement": false, "subsite_label": "flood", "id": 24884, "is_wide": true, "is_ugc": false, "date": "Mon, 03 Jul 2017 08:44:55 +0300" }
{ "id": 24884, "author_id": 5723, "diff_limit": 1000, "urls": {"diff":"\/comments\/24884\/get","add":"\/comments\/24884\/add","edit":"\/comments\/edit","remove":"\/admin\/comments\/remove","pin":"\/admin\/comments\/pin","get4edit":"\/comments\/get4edit","complain":"\/comments\/complain","load_more":"\/comments\/loading\/24884"}, "attach_limit": 2, "max_comment_text_length": 5000, "subsite_id": 199791 }

13 комментариев 13 комм.

Популярные

По порядку

Написать комментарий...
10

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

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

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

Ответить
0

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

Ответить
0

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

Ответить
3

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

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

Ответить
4

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

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

Ответить
0

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

Ответить
0

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

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

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

Ответить
0

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

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

Ответить
0

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

Ответить
0

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

IDE есть IDE, её

Ответить
0

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

Ответить
0

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

Ответить
0

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

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

Ответить
0

Прямой эфир

[ { "id": 1, "label": "100%×150_Branding_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox_method": "createAdaptive", "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfl" } } }, { "id": 2, "label": "1200х400", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfn" } } }, { "id": 3, "label": "240х200 _ТГБ_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fizc" } } }, { "id": 4, "label": "240х200_mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "flbq" } } }, { "id": 5, "label": "300x500_desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "ezfk" } } }, { "id": 6, "label": "1180х250_Interpool_баннер над комментариями_Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "ffyh" } } }, { "id": 7, "label": "Article Footer 100%_desktop_mobile", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjxb" } } }, { "id": 8, "label": "Fullscreen Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjoh" } } }, { "id": 9, "label": "Fullscreen Mobile", "provider": "adfox", "adaptive": [ "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fjog" } } }, { "id": 10, "disable": true, "label": "Native Partner Desktop", "provider": "adfox", "adaptive": [ "desktop", "tablet" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyb" } } }, { "id": 11, "disable": true, "label": "Native Partner Mobile", "provider": "adfox", "adaptive": [ "phone" ], "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "clmf", "p2": "fmyc" } } }, { "id": 12, "label": "Кнопка в шапке", "provider": "adfox", "adaptive": [ "desktop" ], "adfox": { "ownerId": 228129, "params": { "p1": "bscsh", "p2": "fdhx" } } }, { "id": 13, "label": "DM InPage Video PartnerCode", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox_method": "createAdaptive", "adfox": { "ownerId": 228129, "params": { "pp": "h", "ps": "bugf", "p2": "flvn" } } }, { "id": 14, "label": "Yandex context video banner", "provider": "yandex", "yandex": { "block_id": "VI-223676-0", "render_to": "inpage_VI-223676-0-1104503429", "adfox_url": "//ads.adfox.ru/228129/getCode?pp=h&ps=bugf&p2=fpjw&puid1=&puid2=&puid3=&puid4=&puid8=&puid9=&puid10=&puid21=&puid22=&puid31=&puid32=&puid33=&fmt=1&dl={REFERER}&pr=" } }, { "id": 15, "label": "Плашка на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byudx", "p2": "ftjf" } } }, { "id": 16, "label": "Кнопка в шапке мобайл", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "adfox": { "ownerId": 228129, "params": { "p1": "byzqf", "p2": "ftwx" } } }, { "id": 17, "label": "Stratum Desktop", "provider": "adfox", "adaptive": [ "desktop" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvb" } } }, { "id": 18, "label": "Stratum Mobile", "provider": "adfox", "adaptive": [ "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "pp": "g", "ps": "bugf", "p2": "fzvc" } } }, { "id": 19, "label": "Тизер на главной", "provider": "adfox", "adaptive": [ "desktop", "tablet", "phone" ], "auto_reload": true, "adfox": { "ownerId": 228129, "params": { "p1": "cbltd", "p2": "gazs" } } } ]
Компания отказалась от email
в пользу общения при помощи мемов
Подписаться на push-уведомления