paint-brush
Исследование выявило распространенные проблемы, с которыми сталкиваются пользователи второго пилота GitHubк@textmodels
5,043 чтения
5,043 чтения

Исследование выявило распространенные проблемы, с которыми сталкиваются пользователи второго пилота GitHub

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

В исследовании изучались проблемы пользователей с GitHub Copilot, выявлялись общие проблемы, такие как препятствия при использовании, проблемы совместимости и качество предлагаемого кода. Причины варьируются от внутренних проблем системы до проблем с сетевым подключением, а решения включают исправления ошибок, корректировку конфигурации и обновления версий. В целом результаты проливают свет на улучшение пользовательского опыта GitHub Copilot.
featured image - Исследование выявило распространенные проблемы, с которыми сталкиваются пользователи второго пилота GitHub
Writings, Papers and Blogs on Text Models HackerNoon profile picture

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

Авторы:

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

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

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

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

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

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


III. РЕЗУЛЬТАТЫ И АНАЛИЗ

В этом разделе мы сообщаем о результатах исследования по трем запросам и даем анализ основных выводов. В разделе III-A мы представили типы проблем, а в разделах III-B и III-C мы представили типы причин и решений соответствующих проблем соответственно. Результаты типов проблем делятся на два уровня: категории (например, проблема с содержанием предложения) и типы (например, МЕНЬШЕ ЭФФЕКТИВНОЕ ПРЕДЛОЖЕНИЕ). При этом результаты причин и решений организованы только по типам (например, «Использовать подходящую версию»). Следует отметить, что в результатах извлекаются и предоставляются только причины, которые, как было доказано, приводят к проблемам, а также решения, которые могут решить проблемы. Поэтому не все проблемы имеют соответствующие причины и решения. Мы предоставляем примеры с символом «#», который указывает «Идентификатор проблемы GitHub», «Идентификатор обсуждения GitHub» или «Идентификатор сообщения SO» в предоставленном наборе данных [13].


A. Тип проблем (RQ1)


На рис. 2 представлена таксономия проблем, извлеченных из наших данных. Можно заметить, что проблемы использования (56,9%) составляют большинство проблем, с которыми сталкиваются пользователи Copilot. Кроме того, значительное количество пользователей отправили запросы на добавление новых функций (15,3%), исходя из своего пользовательского опыта и требований. Также существует часть пользователей, которые столкнулись с проблемами совместимости (15,3%) при использовании Copilot в различных средах, в то время как меньший процент был определен как проблемы с контентом предложений (4,9%), проблемы с взаимодействием с пользователем (4,2%), а также проблемы с авторским правом и политикой. (3,4%).


  1. Проблема использования (56,9%): Проблема использования относится к категории препятствий, с которыми сталкиваются пользователи при попытке использовать некоторые фундаментальные функции Copilot (например, сбой при установке). Эта категория проблем подразделяется на шесть типов, которые подробно описаны ниже.


• ПРОБЛЕМА ИСПОЛЬЗОВАНИЯ ФУНКЦИОНАЛЬНОСТИ относится к неисправности различных функций, связанных с генерацией кода, предоставляемых Copilot. Помимо предоставления предложений по коду, Copilot предлагает различные интерактивные функции для лучшего взаимодействия с пользователями, такие как «предыдущее/следующее предложение», «просмотреть все предложения» и настройку сочетаний клавиш для принятия предложений. Пользователи могут столкнуться с исключениями при использовании этих функций. Например, пользователь сообщил, что «Второй пилот больше не предлагает использовать PyCharm» (обсуждение № 11199).


• ПРОБЛЕМА НАСТРОЙКИ/РАБОТЫ относится к ошибкам или сбоям, которые возникают во время инициализации или работы Copilot и часто включают исключения во время выполнения. Эти проблемы могут помешать правильной работе Copilot или вызвать его неожиданный сбой, например, когда пользователь сталкивается с «ошибкой запуска второго пилота в VSCode» (Обсуждение № 30996).


• ОШИБКА АУТЕНТИФИКАЦИИ относится к проблемам, связанным с трудностями входа пользователя и аутентификации при использовании Copilot. Copilot требует, чтобы пользователи вошли в свою учетную запись GitHub перед использованием службы. Только пользователи с правами доступа (включая платные подписки, проверку личности студента и т. д.) могут использовать службу генерации кода Copilot. В процессе аутентификации пользователи могут столкнуться с различными связанными с ней проблемами, приводящими к невозможности использования Copilot. Например, пользователь упомянул на форуме: «Я не могу войти в систему после обновления» (Обсуждение № 18132).


• ОШИБКА ДОСТУПА относится к ситуации, когда пользователям не удается получить доступ к серверу Copilot, что часто связано с ошибками, связанными с подключениями к серверу. Пользователь может столкнуться с сообщением об ошибке типа «GitHub Copilot не удалось подключиться к серверу» (обсуждение № 11801).


• ПРОБЛЕМА УСТАНОВКИ относится к проблемам, возникающим в процессе установки Copilot, включая ошибки установки, невозможность найти методы установки и другие связанные проблемы. Например, некоторые пользователи могут столкнуться с такими проблемами, как «Ошибки при установке Copilot» (Обсуждение № 17250).


• ПРОБЛЕМА КОНТРОЛЯ ВЕРСИЙ относится к проблемам, с которыми сталкиваются пользователи при настройке версии Copilot или его среды выполнения (например, IDE), включая невозможность обновить версию Copilot или аномальные проблемы, такие как продолжающийся запрос обновлений даже после обновления. Например, пользователь сказал, что «плагин второго пилота не обновляется» при использовании его в IntelliJ IDEA (обсуждение № 17298).


Анализ. Поскольку это относительно новый продукт с кодом искусственного интеллекта, мы выявили проблемы с использованием на различных этапах взаимодействия пользователей с Copilot. Пользователи также склонны сообщать об этих проблемах и обращаться за помощью, что сделало проблему использования наиболее распространенной категорией проблем. ПРОБЛЕМА ИСПОЛЬЗОВАНИЯ ФУНКЦИОНАЛЬНОСТИ (233), ПРОБЛЕМА НАСТРОЙКИ/РАБОТЫ (201) и ОШИБКА АУТЕНТИФИКАЦИИ (199) — это три основных типа. Мы связываем более высокую частоту первых двух типов проблем с недостатками конструкции и стабильности функций Copilot, на которые также влияют среда и операции пользователей. Третий тип в первую очередь связан с конкретными деталями, которые возникают, когда Copilot требует от пользователей входа в систему, используя свои учетные записи GitHub.


2) Запрос на добавление функций (15,3%): Запрос на добавление функций относится к функциям, которые пользователи просят добавить или улучшить на основе своего опыта и реальных потребностей при использовании Copilot. Эти запросы на функции не только помогают улучшить взаимодействие с пользователем Copilot, но и способствуют изучению того, как инструменты генерации кода искусственного интеллекта могут лучше взаимодействовать с разработчиками. Эта категория далее делится на четыре типа, как показано ниже.


• ЗАПРОС ФУНКЦИИ относится к запросам на разработку новых функций в Copilot, которые обычно возникают из-за реальных потребностей пользователей и трудностей, возникающих при использовании этого инструмента. Например, пользователь предположил, что добавление «функции пояснения кода» может повысить полезность Copilot (обсуждение № 7509).


• ЗАПРОС НА ИНТЕГРАЦИЯ — это тип запроса на доступность Copilot на определенных платформах или на интеграцию с другими плагинами. В основном это связано с желанием некоторых пользователей использовать Copilot в определенных средах. Например, пользователь потребовал «Поддержку семейства Intellij 2022.2 EAP» (обсуждение № 17045). Запросы на интеграцию также в некоторой степени отражают популярность Copilot среди разработчиков.


• ЗАПРОС UI — это запросы пользователей на внесение изменений в пользовательский интерфейс (UI) Copilot, которые могут включать изменение внешнего вида значка Copilot, настройку подсказок по использованию и другие связанные аспекты. Эти запросы обычно направлены на улучшение визуальных эффектов и пользовательского опыта Copilot. Например, пользователь может запросить добавление «индикатора состояния» (проблема № 163) для предоставления информации о текущем рабочем статусе Copilot.


• ПРОФЕССИОНАЛЬНАЯ ВЕРСИЯ COPILOT относится к запросам некоторых пользователей на профессиональную версию Copilot.


Рис. 2. Классификация проблем при использовании GitHub Copilot


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


Анализ: В случае FUNCTION REQUEST (123) мы заметили, что пользователи обычно выражают желание большей гибкости в настройке Copilot, чтобы более точно соответствовать их привычкам разработки. Например, общие запросы включают возможность принимать предложения Copilot слово за словом и указывать, где Copilot должен автоматически работать с точки зрения типов файлов или объемов разработки кода. Более инновационные требования включают необходимость предоставления Copilot предложений по всему проекту, а также таких функций, как пояснения кода и функциональность чата [15], которые уже запущены в качестве технической предварительной версии в Copilot X. ЗАПРОС НА ИНТЕГРАЦИЯ (75) отражает желание разработчиков использовать Copilot в привычной для них среде. Это предъявляет более высокие требования к команде второго пилота, поскольку мы выявили значительное количество проблем совместимости.


3) Проблемы совместимости (15,3%): эта категория охватывает проблемы, возникающие из-за несоответствия между Copilot и его средой выполнения. Copilot работает как плагин в различных IDE и текстовых редакторах (например, VSCode и IntelliJ IDEA), а сложность сред и вмешательство других плагинов могут привести к увеличению количества проблем совместимости. Эти проблемы подразделяются на четыре типа, которые подробно описаны ниже.


• ПРОБЛЕМА СОВМЕСТИМОСТИ РЕДАКТОРА/IDE относится к проблемам, возникающим из-за несоответствия между Copilot и его IDE или редактором. Эти проблемы обычно проявляются в том, что Copilot не может правильно работать в определенной IDE или редакторе.


• ПРОБЛЕМА СОВМЕСТИМОСТИ ПОДКЛЮЧЕНИЙ относится к типу проблемы соответствия, которая возникает, когда Copilot и другие подключаемые модули активны и работают вместе в одной среде. Такие проблемы могут вызвать частичные или полные сбои в работе Copilot и других плагинов и обычно выявляются с помощью таких методов устранения неполадок, как отключение Copilot или других плагинов. Например, один пользователь сообщил о «конфликте сочетаний клавиш с Эмметом» (проблема № 47), из-за которого он не мог получать предложения кода, сгенерированные Copilot.


• ПРОБЛЕМА СОВМЕСТИМОСТИ СРЕДСТВА относится к типу проблемы совместимости между Copilot и платформой, на которой он работает. Одним из распространенных примеров является проблема совместимости между Copilot.vim [16], официальной версией Copilot, разработанной специально для Vim, и Node.js.


• ПРОБЛЕМА СОВМЕСТИМОСТИ КЛАВИАТУРЫ относится к ситуации, когда функциональность Copilot не может быть использована в некоторых необычных раскладках клавиатуры. Например, пользователь с немецкой раскладкой клавиатуры не может использовать большинство функций Copilot, связанных с генерацией кода. (Обсуждение №7094).


Анализ: Проблема совместимости возникает из-за сложных операционных сред, в которых пользователи используют Copilot, а также из-за надежности совместимости самого Copilot. В случае ПРОБЛЕМЫ С СОВМЕСТИМОСТЬЮ РЕДАКТОРА/IDE (132) VSCode, платформа, официально рекомендованная для использования Copilot, получила большее количество сообщений о проблемах совместимости. Мы также обнаружили аналогичные проблемы в других широко используемых IDE, таких как Visual Studio, IDEA и PyCharm. Появление сообщения «Проблема совместимости плагинов» (72) менее предсказуемо, типичные проблемы связаны с конфликтами с другими инструментами завершения кода.


4) Проблема с содержанием предложения (4,9%): эта категория проблем относится к проблемам, связанным с содержанием кода, созданного Copilot. Генерация предложений кода — это основная функция инструментов генерации кода искусственного интеллекта, таких как Copilot, и качество предложений напрямую определяет, примут ли их пользователи. Поэтому содержимое сгенерированного кода, естественно, вызывает беспокойство у пользователей, исследователей и команды Copilot. Эти проблемы далее разделены на семь конкретных ситуаций, которые подробно описаны ниже.


• ПРЕДЛОЖЕНИЕ НИЗКОГО КАЧЕСТВА относится к ситуациям, когда второй пилот не может понять контекст в достаточной степени, чтобы сгенерировать полезный код. Такие предложения кода могут не содержать синтаксических ошибок, но из-за их низкого качества они вряд ли будут приняты пользователями. Например, Copilot однажды сгенерировал пустой метод, содержащий только оператор возврата, не отвечающий требованиям, указанным в коде пользователя (Обсуждение №6631).


• БЕЗУМНОЕ ПРЕДЛОЖЕНИЕ относится к предложениям кода, предоставленным Copilot, которые совершенно не соответствуют потребностям пользователя или приводят к странным выводам. Такие предложения считаются практически непригодными для использования и оказывают мало эвристической помощи пользователю. Например, пользователь получил недоступный поддельный URL-адрес, сгенерированный Copilot (обсуждение № 14212).


• ПРЕДЛОЖЕНИЕ С ОШИБКАМИ относится к ситуации, когда Copilot может сгенерировать соответствующий код на основе контекста, но предлагаемый код содержит некоторые ошибки. Это может привести к тому, что программа сможет работать, но не так, как задумал разработчик, или, в некоторых случаях, вызвать ошибки или сбои. Например, пользователь сообщил, что Copilot предложил использовать «setState(!state)» вместо «setState(true)» (проблема № 43), что вызвало логическую ошибку в коде.


• НЕПОНЯТНОЕ ПРЕДЛОЖЕНИЕ относится к ситуации, когда Copilot предлагает варианты кода, но из-за сложности логики кода или отсутствия опыта пользователям сложно понять предложенный код, и им требуется дополнительный источник для проверки его правильности. Например, пользователь сказал: «Мой Github Copilot только что автоматически заполнил это за меня, затем я порылся в Интернете, пытаясь найти информацию, относящуюся к этому, но не смог». (SO № 73075410)


• ПРЕДЛОЖЕНИЕ С НЕВЕРНЫМ СИНТАКСИСОМ относится к ситуации, когда предложения, созданные Copilot, могут содержать синтаксические ошибки, которые мешают правильной работе программы. Одним из примеров является случай, когда в предложенном коде отсутствует закрывающая скобка, из-за чего редактор отображает синтаксическую ошибку (Обсуждение № 38941).


• МЕНЬШЕ ЭФФЕКТИВНОЕ ПРЕДЛОЖЕНИЕ относится к предложениям кода, созданным Copilot, которые функционально корректны и соответствуют требованиям пользователя, но могут страдать из-за неоптимальной эффективности выполнения или запутанной логики, что потенциально влияет на общее качество кода.


• НЕБЕЗОПАСНОЕ ПРЕДЛОЖЕНИЕ относится к предложениям кода, созданным Copilot, которые создают уязвимости безопасности. Например, пользователь указал, что в предложенном для него коде отсутствует учет считываемых размеров (Обсуждение №6636).


Анализ: Качество предлагаемого кода является ключевым фактором, определяющим возможности Copilot для практической разработки кода. Мы выявили относительно небольшое количество проблем с содержанием предложений, что, возможно, указывает на то, что пользователи менее склонны сообщать о проблемах, связанных с предлагаемым кодом, по сравнению с проблемами, связанными с использованием. Среди этих проблем, ПРЕДЛОЖЕНИЕ НИЗКОГО КАЧЕСТВА, БЕССЕНСОВОЕ ПРЕДЛОЖЕНИЕ и ПРЕДЛОЖЕНИЕ С ОШИБКАМИ являются тремя наиболее часто встречающимися типами, тогда как НЕБЕЗОПАСНОЕ ПРЕДЛОЖЕНИЕ и МЕНЬШЕ ЭФФЕКТИВНОЕ ПРЕДЛОЖЕНИЕ менее распространены. Этот результат показывает, что качество сгенерированного кода является основной заботой пользователей, в то время как безопасность и эффективность не имеют высокого приоритета.


5) Проблема с пользовательским опытом (4,2%): в эту категорию входят отзывы пользователей об их опыте использования Copilot. По сравнению с Usage Issue, Copilot в целом работает и функционирует должным образом, но взаимодействие с пользователем неоптимально. Проблемы с пользовательским интерфейсом могут возникать из-за конкретных сценариев использования или преобладать в различных ситуациях, что дает представление об областях, где Copilot можно улучшить. Проблемы с взаимодействием с пользователем можно разделить на четыре типа, которые подробно описаны ниже.


• ПЛОХАЯ ФУНКЦИОНАЛЬНОСТЬ — это тип проблемы взаимодействия с пользователем, при которой использование основных функций Copilot, связанных с генерацией кода, является неудовлетворительным. Эти проблемы часто могут препятствовать координации между пользователями и вторым пилотом и даже снижать эффективность фактической разработки. Например, пользователь пожаловался, что автоматически сгенерированные предложения Copilot сильно отвлекают его, вынуждая его вручную запускать функцию генерации кода (Обсуждение № 13007).


• ПЛОХОЙ ОПЫТ ПОДПИСКИ относится к препятствиям, с которыми сталкиваются пользователи в процессе подписки на услуги Copilot. Copilot предлагает несколько способов подписки (например, проверка учащихся, платная подписка), что приводит к некоторым неудобствам для пользователей в процессе подписки. Например, один пользователь не знал, что делать дальше после настройки выставления счетов (Обсуждение № 19119).


• ПЛОХАЯ ПРОИЗВОДИТЕЛЬНОСТЬ означает проблемы с производительностью, возникающие при работе Copilot, которые обычно напрямую влияют на работу пользователя. Эти проблемы включают высокую загрузку ЦП, длительное время ответа и слишком частый доступ к серверу. • ПЛОХОЙ ОПЫТ АУТЕНТИФИКАЦИИ относится к неудобствам, с которыми сталкиваются пользователи при проверке подлинности своей личности перед использованием Copilot. Наиболее распространенная ситуация заключается в том, что Copilot часто предлагает пользователям повторно войти в систему, что может стать серьезным источником разочарования.


Анализ: проблемы взаимодействия с пользователем дают ценную информацию о направлениях улучшения Copilot. Среди проблем ПЛОХОЙ ФУНКЦИОНАЛЬНОСТИ (25) наиболее часто сообщаемые проблемы связаны со встроенными предложениями Copilot, вызывающими сбои в процессе кодирования пользователя (5) и неудобствами, связанными с невозможностью принять определенные части предложенного кода (2). Эти проблемы согласуются с некоторыми требованиями, упомянутыми пользователями в запросах функций, например, с указанием времени, когда Copilot может генерировать код, и длины предлагаемого кода.


6) Проблема авторского права и политики (3,4%). Второй пилот обучен работе с большим массивом открытого исходного кода и генерирует предложения по коду на основе контекста кода пользователей. То, как работает Copilot, вызывает обеспокоенность по поводу потенциальных проблем с авторским правом и политикой, о чем говорят некоторые пользователи. Эти проблемы делятся на три типа, как показано ниже.


• ПРОБЛЕМА АВТОРСКИХ ПРАВ НА КОД относится к обеспокоенности, высказанной некоторыми авторами кода по поводу несанкционированного использования их кода с открытым исходным кодом компанией Copilot для обучения моделей. GitHub в настоящее время является одной из самых популярных веб-платформ для размещения кода, и с момента выпуска Copilot у некоторых авторов кода возникли подозрения, что их код, размещенный на GitHub, использовался для обучения без надлежащего учета их лицензии.


• ПРОБЛЕМА ТЕЛЕМЕТРИИ КОДА относится к обеспокоенности, выраженной пользователями по поводу подхода Copilot к сбору их кода для генерации предложений, что потенциально может привести к утечке конфиденциального кода. Некоторые пользователи также могут просто не захотеть, чтобы их собственный код, а также код, сгенерированный для них Copilot, собирался для других целей.


• НАРУШЕНИЕ ПОЛИТИКИ РЫНКА — это конкретный случай, когда пользователь сообщил, что Copilot удалось опубликовать на торговой площадке VSCode, несмотря на использование предложенных API, в то время как другие плагины были запрещены. Пользователь заподозрил, что такое поведение может нарушать Политику торговой площадки (проблема №3).


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


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


  1. Результаты: Мы определили в общей сложности 337 причин, которые были собраны из 24,1% всех проблем и были разделены на 13 типов, как представлено в Таблице II. Результат показывает, что наиболее частыми причинами проблем являются внутренняя проблема Copilot (21,4%) и проблема с сетевым подключением (15,4%), при этом также часто сообщается о проблеме совместимости редактора и IDE (11,1%) и неподдерживаемой платформе (9,2%). Конкретные случаи, количество случаев и доля каждого типа причин представлены в Таблице II. Из-за ограничения места мы анализируем пять наиболее частых причин. Стоит отметить, что определенные типы проблем потенциально могут быть причинами других проблем.


2) Анализ. Внутренняя проблема второго пилота, которая может привести к различным типам проблем при использовании, является наиболее распространенным типом причин. Поскольку Copilot — это проект с закрытым исходным кодом, его внутренние детали не известны пользователям. Поэтому мы относим проблемы восходящего потока, связанные с Copilot, к внутренним проблемам Copilot, охватывающим языковую модель, функциональный дизайн и проблемы на стороне сервера, вызванные внутренними факторами. Как правило, выявление внутренней проблемы Copilot основано на отзывах пользователей о ненормальном использовании, которые команде Copilot необходимо будет дополнительно изучить, чтобы определить конкретные основные причины. Кроме того, возникновение внутренней проблемы Copilot часто приводит к тому, что группа пользователей сообщает об аналогичных проблемах в течение определенного периода времени. Например, неправильное развертывание на стороне сервера может привести к тому, что группа пользователей столкнется с ОШИБКОЙ АУТЕНТИФИКАЦИИ.


Проблема с сетевым подключением — это распространенный тип причин, которые могут привести к сбоям аутентификации, исключениям во время выполнения, сбоям доступа и т. д. Большинство проблем, связанных с сетью, связано с сетевой средой пользователя. Распространенной ситуацией является то, что пользователи получают доступ к Copilot через HTTP-прокси или VPN, что может вызвать помехи SSL и помешать им использовать службу. Однако хорошей новостью является то, что Copilot теперь поддерживает доступ через HTTP-прокси, что решает подобные проблемы [17].


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


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


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



C. Тип решения (RQ3)


  1. Результаты: Мы определили в общей сложности 497 решений, которые были использованы для решения 35,5% всех проблем и были разделены на 11 типов, как показано в Таблице III. Результат показывает, что большинство ошибок использования были устранены официальными исправлениями (ошибка исправлена Copilot 27,0%) после отзывов пользователей, а также когда пользователи пытались решить проблемы самостоятельно, изменяя конфигурацию/настройки (22,1%), используя подходящую версию (17,1%). ) и «Переустановить/Перезапустить/Повторно авторизовать Copilot» (12,3%) обычно использовались в качестве эффективных решений. Конкретные случаи, количество случаев и доля каждого типа решения представлены в Таблице III. Из-за нехватки места мы сосредоточимся на интерпретации результатов пяти лучших решений, а также на некотором важном анализе. Следует отметить, что «Другие» (4,2%) представляют собой набор специализированных решений, которые обычно специфичны для конкретных сред и проблем.


Сопоставление типов проблем и типов решений с распределением показано в Таблице IV, где для обозначения каждого типа решения используются сокращения. Например, «BFC» означает «Ошибка, исправленная вторым пилотом». Сопоставление показывает, что большинство решений ориентированы на проблемы использования и проблемы совместимости. Основные решения по запросам на функции в первую очередь заключаются в ожидании официальной реализации функции (FIC) или достижении аналогичных результатов за счет изменений конфигурации или настроек (MCS). Проблемы с пользовательским интерфейсом в основном решаются командой Copilot (BFC). Кроме того, использование соответствующей версии Copilot и редактора/IDE (USV) может улучшить работу. Решение проблем с содержанием предложений является относительно сложной задачей, поскольку лишь некоторые из них можно решить путем изменения способа ввода (MIW), а для большинства из них отсутствуют эффективные решения. Проблемы авторского права и политики также имеют относительно ограниченные решения. Основное решение — контролировать сбор пользовательского кода путем настройки параметров Copilot.


2) Анализ: исправление ошибок компанией Copilot является основным решением для решения различных проблем, в частности определенных проблем использования и совместимости. Это разумно, поскольку внутренние проблемы Copilot являются наиболее частыми причинами, что указывает на то, что многие проблемы Copilot, как нового инструмента, не могут быть решены собственными усилиями пользователей. Из-за закрытого исходного кода Copilot пользователи могут просто оставлять свои отзывы и ждать ответа и решения от команды Copilot.


Изменение конфигурации/параметров является распространенным решением проблем, связанных с неправильными конфигурациями или настройками, и может решить ПРОБЛЕМЫ ИСПОЛЬЗОВАНИЯ ФУНКЦИОНАЛЬНОСТИ, ПРОБЛЕМЫ СОВМЕСТИМОСТИ ПЛАГИНОВ, а также ОШИБКИ АУТЕНТИФИКАЦИИ, возникающие самими пользователями. Кроме того, по некоторым запросам на функции пользователи могут добиться желаемой функциональности, просто внеся некоторые изменения в конфигурацию, например изменив привязку сочетаний клавиш для принятия предложений по коду. Однако мы обнаружили, что из-за сложности рабочих сред Copilot сложно предоставить рекомендуемую конфигурацию, подходящую для всех ситуаций. Поэтому каждый случай необходимо анализировать индивидуально.


Использование подходящей версии обеспечивает эффективный способ решения ПРОБЛЕМ НАСТРОЙКИ/РАБОТЫ, ПРОБЛЕМ С ИСПОЛЬЗОВАНИЕМ ФУНКЦИОНАЛЬНОСТИ, ПРОБЛЕМ С УСТАНОВКОЙ, а также ПРОБЛЕМ С СОВМЕСТИМОСТЬЮ РЕДАКТОРА/IDE. Многие версии Copilot были быстро переработаны на основе отзывов пользователей и планов развития. Между тем, некоторые IDE также выпустили новые версии, совместимые с ним. Однако некоторые старые версии могут быть более стабильными по сравнению с последней версией, которая может содержать некоторые ошибки или проблемы совместимости. Таким образом, использование соответствующей версии является высокоэффективным решением для пользователей.


Переустановка/Перезапуск/Повторная авторизация Copilot — это еще одно решение, позволяющее пользователям самостоятельно решать ОШИБКИ АУТЕНТИФИКАЦИИ, ПРОБЛЕМЫ НАСТРОЙКИ/РАБОТЫ, а также ПРОБЛЕМЫ ИСПОЛЬЗОВАНИЯ ФУНКЦИОНАЛЬНОСТИ. Его принцип заключается в сбросе текущего состояния Copilot, возвращая любые предыдущие ошибки или настройки, которые могли существовать, обратно в исходное состояние.


Функция, реализованная Copilot, действует как официальное действие, которое в основном отвечает запросам пользователей на функции. Скорость разработки новых функций Copilot относительно высока, и в настоящее время команда Copilot экспериментирует с некоторыми из новейших функций Copilot X [18].