Как разработчики остаются под контролем при использовании Copilot

Как разработчики остаются под контролем при использовании Copilot

4 июня 2025 г.

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

2. Методология и 2.1. Исследовательские вопросы

2.2. Сбор данных

2.3. Маркировка данных

2.4. Извлечение данных

2.5. Анализ данных

3. Результаты и интерпретация и 3.1. Тип проблем (RQ1)

3.2. Тип причин (RQ2)

3.3. Тип решений (RQ3)

4. Последствия

4.1. Последствия для пользователей Copilot

4.2. Последствия для команды Copilot

4.3. Последствия для исследователей

5. Угрозы достоверности

6. Связанная работа

6.1. Оценка качества кода, генерируемого Copilot

6.2. Влияние Копилота на практическое развитие и 6.3. Окончательное резюме

7. Выводы, доступность данных, подтверждения, заявление о вкладе и ссылки на кредит

4. Последствия

4.1. Последствия для пользователей Copilot

Поиск вдохновения от предложений Copilot по коду, а не полагаться на них может привести к лучшему контролю над вашими задачами кодирования.В запросе функции мы заметили, что пользователи часто представляют свое желание принять предложения кода по сложному слову или по линии при их просмотре. В качестве пользователя жаловался в SO, «Copilot вводит тонны кода, когда люди просто нуждаются в крошечной части» (так что #74091857). Стремление пользователей к таким запросам может отражать их опасения по поводу потери контроля над задачами кодирования, потому что копилот иногда слишком «продуктивен» для них. В эксперименте, проведенном Vaithilingam et al. (2022), пять участников восприняли такое же беспокойство, когда они не смогли понять код, предложенный Copilot. Таким образом, поиск правильного баланса между использованием производительности Copilot и поддержанием команды разработчиков над их кодом важно для пользователей Copilot. Как указано Ziegler et al. (2024), стоимость копилота заключается в том, служат ли предложения полезной отправной точкой для дальнейшего развития. Следовательно, полезной позицией копилота будет инструмент, который предоставляет кодирующие идеи, а не полную замену для разработчиков в задачах кодирования. Перед использованием Copilot для кодирования пользователи в идеале должны иметь четкое понимание своей структуры кода. Затем, направляя Copilot для предоставления предложений кода, они могут дополнительно оптимизировать реализацию кода. Таким образом, гарантирует, что пользователи поддерживают контроль над своим кодом, включая вдохновляющие предложения, предоставленные Copilot, сохраняя роль пользователей в качестве реального «пилота» задач кодирования.

Просмотрите предложения кода, предоставленные Copilot, прежде чем принять их, чтобы предотвратить введение проблем качества в ваш проект.Согласно результатам RQ1, появление небезопасного предложения, менее эффективного предложения и предположения с неверным синтаксисом указывает на потенциальные проблемы качества в коде, предложенном Copilot. Качество кода сгенерированного кода Copilot было критической темой для команды Copilot и многих исследователей (например, Netistiren et al. (2022), Siddiq et al. (2022)). Поскольку результаты LLM непредсказуемы, нереально ожидать, что Copilot будет последовательно производить код, затрачиваемый качеством при любых обстоятельствах. Кроме того, мы определили лишь несколько вопросов, связанных с качеством образованного кода, сгенерированного Copilot, в нашем исследовании. Одна из возможных причин заключается в том, что разработчикам может не хватать опыта или не быть достаточно внимательными для выявления проблем качества, таких как уязвимости кода (Fu et al., 2024) и кодовые запахи (Zhang et al., 2024) в коде, созданном Copilot. Мы также заметили, что пользователям может быть сложно полностью понять предложения кода, предоставленные Copilot в непостижимых предложениях, что приводит к трудностям в распознавании проблем качества, введенных Copilot. Следовательно, важно тщательно изучить, есть ли какие -либо проблемы с качеством в рамках предложений Кодекса из Copilot, прежде чем принимать их.

Желательно использовать IDE или редакторы кода, которые официально поддерживаются Copilot.Согласно нашему исследованию, обсуждения, касающиеся проблем с использованием моделей, в основном сообщаются на платформах развития основных кодирования, таких как VSCODE, Visual Studio и Pycharm. Команда Copilot также активно реагирует на запросы, возникающие на платформах, официально поддерживаемых Copilot. Следовательно, пользователи, использующие Copilot в этих редакторах IDE или кода, с большей вероятностью найдут решения для таких проблем, как операционные вопросы и совместимость, публичные Q & A платформы. Мы обнаружили, что неподдерживаемая платформа считается четвертой наиболее частой причиной, что приводит к проблемам использования мотива. Основываясь на результатах RQ2 (см. Таблицу 3), это также одна из основных причин, вызывающих различные типы операции, что говорит о том, что пользователи могут столкнуться с непредвиденными проблемами при попытке использовать Copilot на платформах, которые еще не поддерживаются. Эти проблемы часто сложны для решения. В нашем исследовании ни одна из 31 вопросов, связанных с неподдерживаемой платформой, не была эффективно разрешена. Следовательно, пользователи должны расставить приоритеты для использования Copilot на официально поддерживаемых платформах, чтобы обеспечить оптимальный опыт.

Авторы:

(1) Xiyu Zhou, Школа компьютерных наук, Университет Ухан, Ухан, Китай (xiyuzhou@whu.edu.cn);

(2) Пенг Лян (автор -корреспондент), Школа компьютерных наук, Университет Ухан, Ухан, Китай (liangp@whu.edu.cn);

(3) Beiqi Zhang, Школа компьютерных наук, Университет Ухан, Ухан, Китай (zhangbeiqi@whu.edu.cn);

(4) Зенгьян Ли, Школа компьютерных наук, Центральный Китайский Университет, Ухан, Китай (Zengyangli@ccnu.edu.cn);

(5) Аакаш Ахмад, Школа компьютеров и коммуникаций, Университет Ланкастера Лейпциг, Лейпциг, Германия (ahmad.aakash@gmail.com);

(6) Mojtaba Shahin, Школа компьютерных технологий, Университет RMIT, Мельбурн, Австралия (mojtaba.shahin@rmit.edu.au);

(7) Мухаммед Васим, факультет информационных технологий, Университет Цзиваскила, Jyväskylä, Финляндия (muhammad.m.waseem@jyu.fi).


Эта статья естьДоступно на ArxivПод CC по лицензии 4.0.


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