ChatGPT становится ChatRepair, чтобы автоматизировать исправление ошибок за меньшие деньги

    0
    1

    [ad_1]

    Боффинс из Университета Иллинойса в Урбане-Шампейне заручился поддержкой ChatGPT, чат-бота OpenAI, который реагирует на письменные инструкции, для устранения ошибок в программном обеспечении без ущерба для банка.

    Чунцю Стивен Ся, аспирант-исследователь, и Линмин Чжан, адъюнкт-профессор компьютерных наук, рассказывают о неожиданном окончании в названии их недавней препринтной статьи «Поддерживаем разговор: исправление 162 из 337 ошибок по 0,42 доллара США за каждую с использованием ChatGPT». .”

    Вы, конечно, могли бы заплатить больше.

    Два исследователя намеревались улучшить Automated Program Repair (APR), новую дисциплину, ориентированную на разработку методов автоматического исправления программных ошибок.

    Они объясняют в своей статье, что традиционные методы APR, как правило, производят патчи, которым не хватает разнообразия и которые требуют ручной тонкой настройки. Более поздняя работа с LLM дала лучшие результаты, но по-прежнему использовала тот же базовый метод — создание множества исправлений из исходного входного образца с последующей проверкой каждого из них.

    Они утверждают, что этот подход приводит к повторяющимся неправильным исправлениям и не позволяет извлечь уроки из своих неудач. И это имеет очень реальную стоимость с точки зрения времени и вычислительных ресурсов.

    Ся и Чжан разработали автоматизированный процесс исправления ошибок, который они назвали ChatRepair, который включает информацию о сбоях тестирования программного обеспечения и учится на основе диалогового ввода, а также успехах и неудачах по ходу дела. Это немного сложнее, чем сказать: «Исправь свои ошибки, HAL» — как видно из иллюстрации, прилагаемой к статье, — но, возможно, предпочтительнее загадочного сообщения об ошибке.

    Схема потока разговора ChatRepair

    Диаграмма потока разговора ChatRepair — нажмите, чтобы увеличить

    «Вместо того, чтобы напрямую генерировать исправления на основе кода с ошибками, как это делают существующие методы APR на основе LLM, ChatRepair дополнительно предоставляет ценную информацию об ошибках тестирования, чтобы дополнительно помочь LLM в создании исправлений», — объясняют ученые в своей статье.

    «Более того, вместо непрерывной выборки из одной и той же подсказки, как это делают предыдущие методы APR на основе LLM, ChatRepair отслеживает историю разговоров и дополнительно учится на предыдущих неудачных и успешных попытках исправления одной и той же ошибки с помощью подсказок».

    Код может быть неправильным, но он полезен

    Включив неправильные исправления с соответствующими данными об ошибках тестирования, Ся и Чжан показали, что они могут уточнить подсказки, поступающие в ChatRepair, по мере того, как модель отрабатывает улучшения кода. Это позволяет избежать повторения одних и тех же ошибок снова и снова, а также создает вариации правдоподобных исправлений, которые увеличивают вероятность правильного исправления.

    В электронном письме к Регистр — написано не ChatGPT, нас уверяют — Ся сказал, что включение данных о сбоях тестов значительно способствовало улучшению ChatRepair.

    «Мы заметили, что добавление полезной информации, такой как ошибка сбоя теста или даже имя самого сбойного теста, может предоставить дополнительную информацию, такую ​​как тип ошибки (например, исключение нулевого указателя) и ожидаемое правильное поведение кода», — пояснил он. «По сравнению с предыдущими инструментами APR, которые не используют такую ​​информацию об ошибках тестирования, ChatRepair использует мощную способность понимания ChatGPT для исправления большего количества ошибок».

    Ся сказал, что ценность включения этой информации можно увидеть в базовом сравнении, которое включало запуск ChatGPT без данных о неудачных тестах. По его словам, доступ к данным о неудачных тестах увеличил количество исправленных ошибок более чем на 40 процентов.

    Более того, не создавая повторно одни и те же неэффективные исправления, исследователи могут избежать затрат на избыточные вызовы API и напрасную трату времени на выполнение GPU — общая проблема для тех, кто исследует, как они могут интегрировать модели OpenAI в свои продукты.

    «Чтобы снизить стоимость, мы используем диалоговый аспект ChatGPT, где он может отслеживать предыдущие результаты и корректировать свое будущее поколение на основе предыдущей истории и отзывов, предоставленных нами (информация об ошибках тестирования)», — пояснил Ся.

    «Мы используем эту возможность, чтобы предоставить ChatGPT ранее сгенерированные неверные исправления, поэтому мы можем избежать повторной выборки одних и тех же неправильных исправлений снова и снова и сократить количество образцов и затраты на исправление ошибки».

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

    «ChatRepair впервые показал, что такой процесс восстановления может быть разговором», — сказал Ся. «Я считаю, что мы можем добиться еще большей производительности, привлекая к работе разработчика-человека, чтобы ускорить процесс ремонта».

    «Чтобы сделать это, будущая работа определенно должна быть больше сосредоточена на динамике между мощными LLM, такими как ChatGPT, и человеческими разработчиками, чтобы дополнительно добавить человеческую интуицию и понимание базы кода для более эффективного совместного исправления ошибок». ®

    [ad_2]

    Предыдущая статьяFacebook монетизирует инструменты искусственного интеллекта, генерирующие рекламу
    Следующая статьяДействие этого иммерсивного симулятора будет происходить на автозаправочной станции, которая также может быть
    Виктор Попанов
    Эксперт тестовой лаборатории. Первый джойстик держал в руках в возрасте 3 лет. Первый компьютер, на котором „работал” был с процессором Intel i386DX-266. Тестирует оборудование для издания ITBusiness. Будь то анализ новейших гаджетов или устранение сложных неполадок, этот автор всегда готов к выполнению поставленной задачи. Его страсть к технологиям и приверженность качеству делают его бесценным помощником в любой команде.