Темная сторона ИИ: надежность, безопасность и безопасность в генерации кода

Темная сторона ИИ: надежность, безопасность и безопасность в генерации кода

5 августа 2025 г.

Аннотация и 1 введение

2. Предыдущие концептуализации интеллектуальной помощи для программистов

3. Краткий обзор больших языковых моделей для генерации кода

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

5. Надежность, безопасность и последствия безопасности моделей ИИ, генерирующих код,

6. Изузаение юзабилити и дизайна программирования A-ассистентного

7. Опыт отчетов и 7.1. Писать эффективные подсказки сложно

7.2 Активность программирования сдвигается в сторону проверки и незнакомой отладки

7.3. Эти инструменты полезны для шаблона и повторного использования кода

8. Неадекватность существующих метафор для программирования A-A-Advisted

8.1. Помощь ИИ в качестве поиска

8.2. Помощь ИИ в качестве компиляции

8.3. Помощь ИИ в качестве парного программирования

8.4. Отчетливый способ программирования

9. Проблемы с применением программирования конечного пользователя

9.1. Выпуск 1: Спецификация намерений, разложение проблемы и вычислительное мышление

9.2. Выпуск 2: Правильность кода, качество и (над) уверенность

9.3. Выпуск 3: Понимание и обслуживание кода

9.4. Выпуск 4: Последствия автоматизации в программировании конечных пользователей

9.5. Выпуск 5: Код без кода и дилемма прямого ответа

10. Заключение

A. Источники отчета о испытании

Ссылки

5. Надежность, безопасность и последствия безопасности моделей ИИ, генерирующих код,

Модели ИИ, которые генерируют код, представляют существенные проблемы с проблемами, связанными с надежностью, безопасностью и безопасностью. Поскольку вывод модели может быть сложным программным артефактом, определение того, является ли вывод «правильным», нуждается в гораздо более детальной оценке, чем простые задачи классификации. Люди испытывают проблемы с оценкой качества программного обеспечения, и такие практики, как обзор кода, применение статических и динамических методов анализа и т. Д., Оказались необходимыми для обеспечения хорошего качества написанного человеком кода. Современные методы оценки качества кода, сгенерированного AI, воплощены в таких критериях, как Humaneval (Chen, Tworek, Jun, Yuan, De Oliveira Pinto, et al., 2021), MBPP (Austin et al., 2021) и CodeConts (Y. Li et al., 2022B), определяют функции, на подразделениях. Такие подходы к оценке не рассматривают проблемы читаемости, полноты кода или наличия потенциальных ошибок, которые разработчики программного обеспечения постоянно пытаются преодолеть.

Предыдущая работа (Chen, Tworek, Jun, Yuan, De Oliveira Pinto, et al., 2021) исследует многочисленные последствия моделей искусственного интеллекта, которые генерируют код, включая проблемы чрезмерной зависимости, смещения (несоответствие между тем, что пользовательские запросы быстрого быстрого предприятия и то, что пользователь действительно хочет), предвзятости, экономического воздействия и безопасности. Хотя эти темы являются обширными и важными, из -за ограничений пространства мы только кратко упоминаем их здесь и указываем на дополнительную связанную работу, когда это возможно. Чрезмерная зависимость возникает, когда люди делают оптимистичные предположения о правильности вывода модели ИИ, что приводит к вреда. Для моделей, генерирующих код, пользователи могут предположить, что код верен, не имеет уязвимостей безопасности и т. Д., И эти предположения могут привести к тому, что более низкий качественный или небезопасный код написаны и развернуты. Существующие развертывания моделей искусственного интеллекта для кода, таких как Github Copilot (Ziegler, 2021), имеют документацию, в которой подчеркивает необходимость тщательного просмотра, тестирования и сгенерированного ветеринара, когда разработчик будет проверять код из любого внешнего источника. Еще неизвестно, приведут ли проблемы чрезмерной зависимости, связанные с генерацией кода искусственного интеллекта, приведут к новым проблемам качества программного обеспечения.

Поскольку ИИ, который генерирует код, обучается крупным общественным репозиториям, существует потенциал для низкокачественных учебных данных, чтобы влиять на модели, чтобы предложить некачественный код или код, который содержит уязвимости безопасности. В одном раннем исследовании Github Copilot (Pearce et al., 2021) рассматривается, могут ли предложения кода содержать известные уязвимости безопасности в ряде сценариев и находит случаи, когда генерируется небезопасной код. Помимо тщательного проверки нового кода с использованием существующих статических и динамических инструментов, которые обнаруживают уязвимости безопасности в коде, созданном человеком, существуют также возможные смягчения, которые могут снизить вероятность того, что модель будет вносить такие предложения. К ним относятся улучшение общего качества данных обучения путем удаления низкокачественных репозитории и тонкая настройка модели с крупным языком специально для снижения выхода известных небезопасных шаблонов.

Авторы:

(1) Advait Sarkar, Microsoft Research, Кембриджский университет (advait@microsoft.com);

(2) Эндрю Д. Гордон, Microsoft Research, Эдинбургский университет (adg@microsoft.com);

(3) Карина Негрину, Microsoft Research (cnegreanu@microsoft.com);

(4) Christian Poelitz, Microsoft Research (cpoelitz@microsoft.com);

(5) Sruti Srinivasa Ragavan, Microsoft Research (a-srutis@microsoft.com);

(6) Бен Зорн, Microsoft Research (ben.zorn@microsoft.com).


Эта статья естьДоступно на ArxivПод CC BY-NC-ND 4.0 Лицензия.


Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE