paint-brush
Обеспечение качества и соответствия требованиям: решение проблем, связанных с использованием второго пилотак@textmodels
193 чтения

Обеспечение качества и соответствия требованиям: решение проблем, связанных с использованием второго пилота

Слишком долго; Читать

Узнайте, как улучшить свой опыт написания кода с помощью Copilot, упрощая совместимость IDE, настраивая поведение, управляя созданным контентом и обеспечивая качество и соответствие кода. TLDR (Резюме): В этом отрывке обсуждается необходимость улучшения совместимости Copilot между IDE, упрощения его настройки, предоставления пользователям возможностей настройки, управления генерацией контента и улучшения качества предлагаемого кода. Он также подчеркивает важность пояснений к кодам и решает проблемы, связанные с интеллектуальной собственностью и авторским правом.
featured image - Обеспечение качества и соответствия требованиям: решение проблем, связанных с использованием второго пилота
Writings, Papers and Blogs on Text Models HackerNoon profile picture


Авторы:

(1) Сию Чжоу, Школа компьютерных наук, Уханьский университет, Ухань, Китай;

(2) Пэн Лян, Школа компьютерных наук, Уханьский университет, Ухань, Китай;

(3) Цзэньян Ли, Школа компьютерных наук, Центрально-Китайский педагогический университет, Ухань, Китай;

(4) Аакаш Ахмад, Школа вычислительной техники и коммуникаций, Лейпцигский Ланкастерский университет, Лейпциг, Германия;

(4) Моджтаба Шахин, Школа вычислительных технологий, Университет RMIT, Мельбурн, Австралия;

(4) Мухаммад Васим, факультет информационных технологий, Университет Ювяскюля, Ювяскюля, Финляндия.


IV. ОБСУЖДЕНИЕ

Улучшите совместимость различных IDE и редакторов и упростите настройку Copilot. Согласно результатам RQ1 и RQ2, проблема совместимости является второй по величине категорией, а проблема совместимости редактора/IDE является причиной, которая приводит ко многим проблемам использования. С точки зрения пользователей, мы также наблюдали множество обсуждений деталей, связанных с конфигурацией и настройками Copilot, что делает изменение конфигурации/настройки вторым наиболее часто используемым решением. Кроме того, неправильная конфигурация/настройка является пятой по распространенности причиной проблем. Основываясь на полученных результатах, мы считаем, что повышение совместимости и упрощение процесса настройки Copilot для пользователей может значительно улучшить их работу. Таким образом, команда Copilot может предложить более подробные рекомендации по установке и настройке, предоставить удобные для пользователя варианты конфигурации, а также выполнять регулярное обновление и обслуживание.


Необходимость дополнительных параметров настройки, позволяющих пользователям адаптировать поведение Copilot в соответствии со своим собственным рабочим процессом. Среди 123 ФУНКЦИОНАЛЬНЫХ ЗАПРОСОВ мы выявили 52 экземпляра таких запросов на настройку поведения второго пилота в различных аспектах, что составляет примерно 50%. Некоторые распространенные запросы: указать типы файлов или рабочую область, в которой автоматически запускается Copilot (11), изменить сочетания клавиш для принятия предложений (10), принять предложения кода построчно или пословно (9), запретить Copilot от генерации определенных типов предложений (например, путей к файлам, комментариев) (3) и настройки цвета и шрифтов текста (3). В исследовании Чжана и др. [19] они также указали, что крайне важно предоставить пользователям возможность настраивать предложения. Кроме того, согласно ОПЫТУ ПЛОХОЙ ФУНКЦИОНАЛЬНОСТИ (например, восприятие самовнушений второго пилота как отвлекающих, о чем также упоминается в исследовании Берда и др. [20]), мы можем различить потребность в настройке поведения второго пилота. Согласно результатам, мы считаем, что степень, в которой поведение Copilot может хорошо адаптироваться к индивидуальным привычкам пользователей в области кодирования, является важным фактором при их решении использовать Copilot. Поэтому предоставление гибких и удобных для пользователя возможностей настройки очень полезно. Кроме того, имеет смысл изучить, как инструменты кодирования ИИ должны взаимодействовать с пользователями, и интегрировать эти инструменты в практическую разработку.


Пользователям нужно больше способов управления контентом, создаваемым Copilot. Из Таблицы IV видно, что большинство решений направлены на решение проблем использования и проблем совместимости, в то время как существует небольшое количество решений для проблем с содержанием предложений. Из 69 проблем с содержанием предложений мы определили только 5 решений, что указывает на то, что пользователям может быть сложно найти идеальные решения проблем с контентом, предложенных Copilot. Частично это связано с тем, что пользователи имеют ограниченные способы управления генерацией кода Copilot, помимо кода и комментариев к коду как таковых. Поэтому для решения проблемы контента предложения требуются дополнительные методы, например, позволяющие разработчикам взаимодействовать с Copilot и повторять сгенерированный код до тех пор, пока он не достигнет ожиданий разработчиков.


Улучшите качество кода, генерируемого Copilot. В вопросах содержания предложений преобладающими типами являются ПРЕДЛОЖЕНИЯ НИЗКОГО КАЧЕСТВА (27) и НЕСУШИТЕЛЬНЫЕ ПРЕДЛОЖЕНИЯ (13). Эксперимент Имаи и др. [9] обнаружили, что по сравнению с парным программированием людей Copilot, хотя и способен генерировать значительный объем кода, также приводит к большему количеству удалений кода во время тестирования, что подчеркивает необходимость улучшения качества кода Copilot. Берд и др. [20] заметили, что Copilot иногда предлагает странные и бессмысленные предложения кода, по сообщениям пользователей, некоторые из которых могут включать личную информацию. Более того, хотя НЕБЕЗОПАСНОЕ ПРЕДЛОЖЕНИЕ и МЕНЬШЕ ЭФФЕКТИВНОЕ ПРЕДЛОЖЕНИЕ имеют только два экземпляра, мы считаем, что это в первую очередь связано с тем, что пользователи сталкиваются с трудностями при обнаружении проблем такого рода и менее склонны сообщать о них. Пирс и др. [6] обнаружили, что из 1689 фрагментов кода, сгенерированных Copilot, 40% оказались уязвимыми. Учитывая последовательные итерации Copilot, становится обязательным проводить регулярные оценки качества его предложений.


Использование Copilot изменяет процесс кодирования и увеличивает временные затраты на проверку предложений кода, что делает объяснения кода очень важными. В нашем исследовании НЕПОНЯТНОЕ ПРЕДЛОЖЕНИЕ (8) занимает четвертое место среди наиболее распространенных проблем с содержанием предложений. Некоторые пользователи упомянули о проблемах с чрезмерно длинными предложениями кода, что приводит к ухудшению читабельности. Это указывает на то, что когда Copilot предоставляет относительно сложные предложения или когда у пользователей нет опыта программирования в определенной области, понимание логики кода и проверка его правильности могут занять много времени. Исследование Wang et al. [21] показывает, что использование кода, сгенерированного ИИ, может привести к значительному давлению при проверке. Поэтому мы считаем, что инструменты кодирования ИИ (например, Copilot) изменят распределение времени, затрачиваемого на различные задачи при разработке программного обеспечения. Мы заметили четыре запроса на добавление функций, связанных с объяснением кода, и команда Copilot уделяет значительное внимание расширению этой функциональности. Функция чата [15], представленная в Copilot X, уже способна предоставлять подробные пояснения кода, а ее точность требует дальнейшей экспериментальной оценки на последующих этапах.


Рассмотрим интеллектуальную собственность и авторское право. Количество проблем с авторским правом и политикой немного выше, чем мы ожидали, и в процессе извлечения данных мы заметили множество проблем как со стороны пользователей, так и со стороны владельцев репозиториев GitHub. Бердс и др. [20] также заметили некоторые дискуссии о том, как авторские права применяются к предложениям кода Copilot. Цель нашего исследования не состоит в том, чтобы дать оценку таких проблем и природы Copilot с закрытым исходным кодом, поскольку это сложная проблема, которая зависит от различных факторов, таких как цель, целевые пользователи и бизнес-модель Copilot. Однако мы утверждаем, что команда Copilot может принять меры для решения этих проблем, предоставляя стабильные и высококачественные услуги по генерации кода, одновременно защищая конфиденциальность пользователей и интеллектуальную собственность.


Этот документ доступно на arxiv по лицензии CC 4.0.