Сопрограммисты ИИ, возможно, не создадут столько ошибок, как опасались PlatoBlockchain Data Intelligence. Вертикальный поиск. Ай.

Сопрограммисты ИИ, возможно, не создадут столько ошибок, сколько опасались

Модели машинного обучения, которые используются в инструментах автодополнения следующего поколения, таких как GitHub Copilot, могут помочь разработчикам программного обеспечения писать более функциональный код, не снижая его безопасности.

Это предварительный результат опроса из 58 человек, проведенного группой ученых из Нью-Йоркского университета.

In бумага распространяется через ArXiv, Густаво Сандовал, Хаммонд Пирс, Тео Нис, Рамеш Карри, Брендан Долан-Гавитт и Сиддхарт Гарг рассказывают, как они проверяли безопасность исходного кода, созданного с помощью больших языковых моделей (LLM).

LLM, такие как семейство OpenAI GPT, прошли обучение на огромных объемах общедоступных текстовых данных или общедоступного исходного кода в случае OpenAI Codex, потомка GPT и основы GitHub Copilot. Как таковые, они могут воспроизводить ошибки, допущенные в прошлом программистами-людьми, иллюстрируя принцип «мусор на входе, мусор на выходе». Были опасения, что эти инструменты отрыгнут и предложат плохой код разработчикам, которые вставят этот материал в свои проекты.

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

В каком-то смысле исследователи тушат свой собственный огонь. Около года назад двое тех же ученых-компьютерщиков написали статью под названием «Спишь за клавиатурой? Оценка безопасности кода GitHub Copilot». Эта работа найдена О 40 процентов выходных данных Copilot включал потенциально уязвимые места (CWE).

«Разница между двумя документами заключается в том, что в «Сон на клавиатуре» рассматривалась полностью автоматическая генерация кода (без участия человека в цикле), и у нас не было пользователей, с которыми можно было бы сравнить, поэтому мы ничего не могли сказать о том, как безопасность второго пилота по сравнению с безопасностью кода, написанного человеком», — сказал Брендан Долан-Гавитт, соавтор обеих статей и доцент кафедры компьютерных наук и инженерии в Тандоне Нью-Йоркского университета, в электронном письме Регистр.

«Документ по изучению пользователей пытается напрямую решить эти недостающие части, при этом половина пользователей получает помощь от Codex (модель, на которой работает Copilot), а другая половина пишет код самостоятельно. Однако он также уже, чем «Сон за клавиатурой»: мы рассмотрели только одну задачу и один язык (написание связанного списка на C)».

В последнем отчете «Влияние на безопасность помощников по модели большого языка: исследование пользователей» группа исследователей Нью-Йоркского университета признает, что предыдущая работа не смогла реалистично смоделировать использование инструментов на основе LLM, таких как Copilot.

«Во-первых, в этих исследованиях предполагается, что весь код автоматически генерируется LLM (будем называть это режимом автопилота)», — поясняют ученые в своей статье.

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

Во-вторых, они отмечают, что, хотя было показано, что LLM производят код с ошибками, люди делают то же самое. Ошибки в обучающих данных LLM исходили от людей.

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

Ученые-компьютерщики Нью-Йоркского университета набрали 58 участников опроса — студентов и аспирантов курсов по разработке программного обеспечения — и разделили их на контрольную группу, которая работала без предложений, и вспомогательную группу, у которой был доступ к пользовательской системе предложений, созданной с использованием OpenAI. API Кодекса. Они также использовали модель Кодекса для создания 30 решений заданных задач программирования в качестве точки сравнения. Эта группа автопилота функционировала в основном как вторая контрольная группа.

И группам Assisted, и Control было разрешено обращаться к веб-ресурсам, таким как Google и Stack Overflow, но не просить помощи у других. Работа выполнялась в Visual Studio Code в веб-контейнере, построенном с открытым исходным кодом. Анубис.

Участникам было предложено выполнить программу со списком покупок, используя язык программирования C, потому что «разработчикам легко непреднамеренно выразить уязвимые шаблоны проектирования в C» и поскольку используемый инструментарий компилятора C не проверяет наличие ошибок в той же степени, что и инструментальные наборы для современные языки, такие как Go и Rust.

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

Выглядит ясно, но есть детали

«[Мы] не нашли никаких доказательств того, что помощь Кодекса увеличивает количество ошибок в системе безопасности», — говорится в документе, при этом отмечается, что небольшой размер выборки означает, что дальнейшее исследование оправдано. «Наоборот, есть некоторые свидетельства того, что количество CWE/LoC [строк кода] уменьшается с помощью Кодекса».

«Трудно сделать вывод с большой статистической достоверностью», — сказал Сиддхарт Гарг, исследователь кибербезопасности и доцент инженерного факультета Нью-Йоркского университета в Тандоне, в телефонном интервью с Регистр.

Трудно сделать вывод об этом с большой статистической достоверностью.

Тем не менее, по его словам, «данные показывают, что пользователи Copilot не намного хуже».

Долан-Гавитт также осторожно относится к результатам.

«Текущий анализ результатов нашего исследования пользователей не выявил каких-либо статистически значимых различий — мы все еще анализируем это, в том числе качественно, поэтому я бы не стал делать из этого однозначных выводов, тем более, что это было небольшое исследование (всего 58 пользователей) и все пользователи были студентами, а не профессиональными разработчиками», — сказал он.

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

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

«Пользователи из группы Assisted прошли больше функциональных тестов и создали более функциональный код», — сказал Гарг, добавив, что результаты такого рода могут помочь компаниям, изучающим вспомогательные инструменты кодирования, решить, стоит ли их развертывать.

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

Исследователи также обнаружили, что инструменты ИИ необходимо рассматривать в контексте ошибок пользователя. «Пользователи предоставляют подсказки, которые могут содержать ошибки, принимают подсказки с ошибками, которые заканчиваются «завершенными» программами, а также принимают ошибки, которые позже удаляются», — говорится в документе. «В некоторых случаях пользователи также получают больше ошибок, чем было предложено моделью!»

Ожидайте дальнейшей работы в этом направлении. ®

Отметка времени:

Больше от Регистр