
Что разработчики желают, чтобы GitHub 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. Выводы, доступность данных, подтверждения, заявление о вкладе и ссылки на кредит
2. Методология
Целью исследования этого исследования является систематическая идентификация проблем, которые разработчики сообщали при использовании GitHub Copilot в разработке, а также их основные причины и потенциальные решения. Мы сформулировали три RQ, которые будут отвечать в этом исследовании, которые подробно описаны в разделе 2.1, а на рис. 1 представлен обзор процесса исследования.
2.1. Исследовательские вопросы
RQ1: С какими проблемами сталкиваются пользователи при использовании Copilot в практике разработки программного обеспечения?
Обоснование: Github Copilot является одним из самых популярных инструментов кодирования, а также широко используется разработка программного обеспечения с 1,3 миллионами платных пользователей до февраля 2024 года (Wilkinson, 2024), и, следовательно, важно понимать конкретные проблемы и проблемы, с которыми сталкиваются пользователи при использовании этого инструмента в практике разработки программного обеспечения.
RQ2: Каковы основные причины этих проблем?
Обоснование: Понимание причин проблем, выявленных в RQ1, имеет важное значение для разработки эффективных решений для их решения. Выявляя эти причины, исследование может дать представление о том, как улучшить проектирование и функциональность Copilot.
RQ3: Каковы потенциальные решения для решения этих проблем?
Обоснование: Изучение решений проблем, выявленных в RQ1, и причин, выявленных в RQ2, имеет важное значение для улучшения пользовательского опыта в практической разработке с использованием Copilot. Выявляя эти решения, исследование может получить представление о потенциальных решениях, которые улучшают функциональность и удобство использования копилота.
2.2. Сбор данных
Мы собрали данные из трех источников: выпуски GitHub [1], дискуссии GitHub [2] и поэтому посты [3]. Github Assues - это обычно используемая функция на GitHub для отслеживания ошибок, запросов функций и сообщений о других проблемах, связанных с проектами разработки программного обеспечения, что позволяет нам решать конкретные проблемы, с которыми пользователи столкнулись при кодировании с помощью Copilot. Devingsions Github-это функция, предоставленная GitHub для открытых дискуссий среди участников проекта и членов сообщества, которая также предлагает центральный центр для дискуссий, связанных с проектом, и обмена знаниями. Темы дискуссий Github могут варьироваться от технических вопросов и предложений до вопросов использования, связанных с Copilot. Stack Overflow - это популярное технологическое сообщество, которое предоставляет общедоступную платформу Q & A, которая рассматривает широкий спектр тем, связанных с программированием, разработкой и технологиями, которые также включают запросы об использовании Copilot.
Учитывая, что Copilot был объявлен и начал свой технический предварительный просмотр 29 июня 2021 года, мы решили собрать данные, которые были созданы после этой даты. Сбор данных был проведен 18 июня 2023 года. В частности, для проблем GitHub мы использовали «Copilot» в качестве ключевого слова для поиска в замкнутых вопросах, связанных с копировами во всем мире во всем GitHub, и было получено в общей сложности 4057 проблем. Мы также использовали «Copilot» в качестве ключевого слова для поиска в ответах в SO, что привело к 679 полученным сообщениям. Обратите внимание, что мы не использовали тег «Copilot» для поиска, потому что метод, основанный на ключевых словах, позволяет нам получить более исчерпывающий набор данных. В отличие от проблем GitHub и, таким образом, дискуссии GitHub организованы в конкретные подкатегории, причем «Copilot» включают в подкатегорию в всеобъемлющую категорию «продукт». Учитывая высокую актуальность этих дискуссий для Copilot, мы собрали все дискуссии 925 в ответ в подкатегории «Копилот».
2.3. Маркировка данных
Мы провели маркировку данных на собранных данных, чтобы отфильтровать те, которые не могут быть использованы для этого исследования. Критерии фильтрации заключаются в следующем: проблема, обсуждение или публикация должны содержать конкретную информацию, связанную с использованием Github Copilot.
2.3.1. Пилотная маркировка данных
Чтобы свести к минимуму личное смещение в формальном процессе маркировки, первые и третьи авторы провели пилотную маркировку данных. Что касается вопросов и обсуждений GitHub, мы случайным образом выбрали по 100 и 25 из каждого, составляя 2,5% от общего количества. Из -за небольшого количества таковых постов мы случайным образом выбрали 35, что составляет 5% от общего числа постов. Выбор определенной доли данных с разных платформ соответственно предназначен для проверки того, являются ли критерии двух авторов согласованными по различным источникам данных. Надежность между рейтингом между двумя авторами была измерена коэффициентом Каппа Коэна (Cohen, 1960), что привело к значениям 0,824, 0,834 и 0,806, что указывает на разумный уровень согласия между двумя авторами. Для любых расхождений в результатах два автора участвовали в дискуссиях со вторым автором, чтобы достичь консенсуса. Результаты маркировки пилотных данных были составлены и записаны в MS Excel (Zhou et al., 2024).
2.3.2. Формальная маркировка данных
Затем первый и третий авторы провели формальную маркировку данных. В ходе этого процесса мы исключили большое количество данных, не связанных с нашим исследованием. Например, «Копилот» может относиться к другим значениям в некоторых ситуациях, таких как «совместный пилот» самолета. Кроме того, Copilot может быть упомянут простым образом без дополнительной информации, такой как упомянутый пост,«Вы можете попробовать использовать Copilot, что удивительно»Полем Мы также исключили такие случаи данных, так как они не могли предоставить полезную информацию об использовании Copilot. Во время процесса маркировки любой результат, на котором два автора не согласны, был подлежит обсуждению со вторым автором, пока не будет достигнуто соглашение. В конечном счете, два автора собрали 476 вопросов GitHub, 706 дискуссий GitHub и 142 SO. Результаты маркировки данных были скомпилированы и записаны в MS Excel (Zhou et al., 2024).
Авторы:
(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).
Эта статья есть
Оригинал