著者:
(1) Xiyu Zhou、武漢大学コンピューターサイエンス学部、中国武漢。
(2) Peng Liang 氏、武漢大学コンピューターサイエンス学部、中国武漢市。
(3) 中国、武漢の華中師範大学コンピューターサイエンス学部、Zengyang Li 氏。
(4) Aakash Ahmad、ランカスター大学ライプツィヒ、コンピューティングおよびコミュニケーション学部、ライプツィヒ、ドイツ。
(4) Mojtaba Shahin、RMIT 大学コンピューティング技術学部、メルボルン、オーストラリア。
(4) ムハマド・ワシーム氏、フィンランド、ユヴァスキュラのユヴァスキュラ大学情報技術学部。
さまざまな IDE およびエディタ間の互換性が強化され、Copilot の構成が簡素化されます。 RQ1 と RQ2 の結果によると、互換性の問題が 2 番目に大きいカテゴリであり、エディタ/IDE の互換性の問題が多くの使用上の問題を引き起こす原因となっています。ユーザーの観点から見ると、Copilot の構成と設定に関連する詳細について多くの議論が行われていることが確認されており、構成/設定の変更が 2 番目に頻繁に使用されるソリューションとなっています。さらに、不適切な構成/設定は問題の 5 番目に一般的な原因です。調査結果に基づいて、互換性を強化し、ユーザーの Copilot の構成プロセスを簡素化することで、エクスペリエンスを大幅に向上できると考えています。したがって、Copilot チームは、より詳細なインストールと構成のガイドラインを提供し、ユーザーフレンドリーな構成オプションを提供し、定期的な更新とメンテナンスを実行する可能性があります。
ユーザーが自分のワークフローに合わせて Copilot の動作を調整できるようにするために、より多くのカスタマイズ オプションが必要です。 123 件の機能リクエストのうち、Copilot の動作をさまざまな側面でカスタマイズするためのそのようなリクエストのインスタンスが 52 件特定されており、これは約 50% を占めています。一般的なリクエストには、Copilot が自動的に実行されるファイル タイプまたはワークスペースの指定 (11)、提案を受け入れるためのショートカット キーの変更 (10)、コードの提案を行ごとまたは単語ごとに受け入れる (9)、Copilot を禁止するなどがあります。特定の種類の提案 (ファイル パス、コメントなど) の生成を禁止し (3)、テキストの色とフォントを構成します (3)。 Zhangらの研究では、 [19]、彼らはまた、ユーザーが提案をカスタマイズできるようにすることが不可欠であると述べました。さらに、機能不全の経験(例、Copilot の自動提案が気を散らすものとして認識されること、Bird et al. [20] の研究でも言及されている)によれば、Copilot の動作をカスタマイズする需要を識別できます。この結果によると、Copilot の動作がユーザーの個々のコーディング習慣にどの程度適応できるかが、Copilot の使用を決定する重要な要素であると考えられます。したがって、柔軟でユーザーフレンドリーなカスタマイズ オプションを提供することは非常に有益です。さらに、AI コーディング ツールがユーザーとどのように対話するかを検討し、これらのツールを実際の開発に統合することは有意義です。
ユーザーは、Copilot によって生成されたコンテンツを制御するためのさらなる方法を必要としています。表 IV から、大部分のソリューションは使用法の問題と互換性の問題に対処することを目的としているのに対し、提案コンテンツの問題に対するソリューションは少数であることがわかります。 69 件の提案コンテンツの問題のうち、特定された解決策は 5 つだけでした。これは、ユーザーが Copilot によって提案されたコンテンツの問題に対して理想的な解決策を提供するのが難しいと感じる可能性があることを示しています。これは、コードやコード コメント自体以外に、ユーザーが Copilot のコード生成を制御する方法が限られていることが部分的に原因です。したがって、提案コンテンツの問題に対処するには追加のメソッドが必要です。たとえば、開発者が Copilot と対話し、コードが開発者の期待に達するまで生成されたコードを反復できるようにする必要があります。
Copilot で生成されたコードの品質を向上させます。提案内容の問題では、主なタイプは低品質の提案 (27) と無意味な提案 (13) です。今井らの実験。 [9] は、人間のペア プログラミングと比較して、Copilot は大量のコードを生成できる一方で、テスト中により多くのコード削除につながることを発見し、Copilot のコード品質の改善の必要性を強調しました。バードら。 [20] は、ユーザーからの報告に応じて、Copilot が時折、奇妙なコードの提案を提供し、その中には個人情報が含まれている可能性があることを観察しました。さらに、「安全でない提案」と「効果の低い提案」にはそれぞれ 2 つのインスタンスしかありませんが、これは主に、ユーザーがこの種の問題を検出するのが難しく、報告する傾向が低いことが原因であると考えられます。ピアースら。 [6] は、Copilot によって生成された 1,689 のコード スニペットのうち 40% が脆弱であることを発見しました。 Copilot が継続的に反復されることを考えると、その提案の品質を定期的に評価することが不可欠になります。
Copilot を使用すると、コーディング プロセスが変更され、コード提案の検証にかかる時間コストが増加するため、コードの説明が非常に重要になります。私たちの調査では、理解できない提案 (8) が提案内容の問題として 4 番目に多いものとしてランク付けされています。一部のユーザーは、コードの提案が長すぎて読みやすさが低下するという問題について言及しました。これは、Copilot が比較的複雑な提案を提供する場合、またはユーザーが特定のドメインでのコーディング経験が不足している場合、コード ロジックを理解してその正しさを検証するのに時間がかかる可能性があることを示しています。 Wangらによる研究。 [21] は、AI によって生成されたコードを使用すると、重大なレビュー圧力につながる可能性があることを示しています。したがって、AI コーディング ツール (Copilot など) は、ソフトウェア開発におけるさまざまなタスクに費やす時間の配分を変えると考えています。コードの説明に関連する 4 つの機能リクエストが確認されており、Copilot チームはこの機能の拡張に重点を置いています。 Copilot X に導入されたチャット機能 [15] は、すでに詳細なコード説明を提供することができますが、その精度については後続の段階でさらなる実験的評価が必要です。
知的財産と著作権について考えてみましょう。著作権およびポリシーの問題の数は予想よりわずかに多く、データ抽出プロセス中にユーザーと GitHub リポジトリ所有者の両方から多くの懸念があることがわかりました。鳥ら。 [20] は、Copilot のコード提案に著作権がどのように適用されるかについてのいくつかの議論にも注目しました。私たちの調査の目的は、このような問題や Copilot の非オープンソース性についての評価を提供することではありません。Copilot は、Copilot の目的、対象ユーザー、ビジネス モデルなどのさまざまな要因に依存する複雑な問題であるためです。しかし、Copilot チームはこれらの問題に対処する措置を講じ、ユーザーのプライバシーと知的財産を保護しながら、安定した高品質のコード生成サービスを提供できると私たちは主張します。
この紙は