Skip to main content
QUICK REVIEW

[論文レビュー] Reading Between the Lines: Modeling User Behavior and Costs in AI-Assisted Programming

Hussein Mozannar, Gagan Bansal|arXiv (Cornell University)|Oct 25, 2022
Software Engineering Research被引用数 21
ひとこと要約

本論文は CodeRec User Programming States (CUPS) を提案し、Copilot との相互作用を分類するタクソノミーと、相互作用コストとインターフェース設計への影響を分析するラベル付きデータ研究を提供する。

ABSTRACT

Code-recommendation systems, such as Copilot and CodeWhisperer, have the potential to improve programmer productivity by suggesting and auto-completing code. However, to fully realize their potential, we must understand how programmers interact with these systems and identify ways to improve that interaction. To seek insights about human-AI collaboration with code recommendations systems, we studied GitHub Copilot, a code-recommendation system used by millions of programmers daily. We developed CUPS, a taxonomy of common programmer activities when interacting with Copilot. Our study of 21 programmers, who completed coding tasks and retrospectively labeled their sessions with CUPS, showed that CUPS can help us understand how programmers interact with code-recommendation systems, revealing inefficiencies and time costs. Our insights reveal how programmers interact with Copilot and motivate new interface designs and metrics.

研究の動機と目的

  • Copilot のようなコード推奨システムと相互作用する際のプログラマー活動の分類体系(CUPS)を開発する。
  • CUPS とビデオデータで注釈づけされたコーディングセッションのラベル付きデータセットを収集・公開する。
  • AI支援プログラミングにおけるユーザー行動パターンと時間コストを測定・分析する指標を提案する。

提案手法

  • パイロットインタラクションとセグメント種別(User Typing or Paused, User Before Action)に基づいて12状態の CUPS タクソノミーを開発した。
  • 21人の開発者セッションから Copilot のテレメトリを収集(3137 件のラベル付きセグメント、1024 件の提案)し、参加者は専用ツールを用いてセグメントを後述ラベル付けした。
  • CUPS 状態でテレメトリセグメントを注釈するラベリング手法を設計・使用し、相互作用コストを定量化するために状態滞在時間と遷移を分析した。
  • タスク変動分析を実施し、受容率、状態時間分布、タスクおよびコーダー経験による差を検討した。
  • ラベリングと分析を再現するための公開コードとデータリポジトリを提供した。

実験結果

リサーチクエスチョン

  • RQ1AI駆動のコード推奨(Copilot)と相互作用する際、プログラマーはどのような活動を行うか?
  • RQ2Copilot 関連の状態に費やす時間はどの程度で、どの状態が相互作用コストを支配するか?
  • RQ3受容率と CUPS 状態分布は、プログラミングタスクやプログラマーの専門性によってどのように変化するか?
  • RQ4CodeRec による相互作用コストを削減し、生産性を向上させるためのインターフェース上の示唆や設計変更は何か?

主な発見

タスク名# 提案数受容率 %上位3状態(時間割合 %)
アルゴリズムの問題12430.6 ± 4.1提案の検証 (25.58) 新機能の作成 (22.31), 新しいコード作成について考える (19.23)
データ操作23824.8 ± 2.8新しいコード作成について考える (20.63) ドキュメント参照 (16.48), プロンプト作成 (16.38)
データ分析11429.8 ± 4.3デバッグ/テストコード (21.23) 最後の提案を編集 (16.62) プロンプト作成 (16.00)
機械学習16233.9 ± 3.7ドキュメント参照 (19.98) 提案の検証 (19.01) デバッグ/テストコード (12.52)
クラスとボイラープレートコード11241.9 ± 4.7提案の検証 (30.34) プロンプト作成 (26.02) 新機能の作成 (13.56)
テスト作成8355.4 ± 5.5提案の検証 (20.79) デバッグ/テストコード (19.68) 新機能の作成 (16.91)
コード編集11723.9 ± 3.9提案の検証 (30.18) 最後の提案を編集 (14.65) 新機能の作成 (14.24)
ロジスティック回帰7455.4 ± 5.8提案の検証 (30.28) 最後の提案を編集 (25.60) 新機能の作成 (15.69)
  • 提案の検証は最も時間を要する活動で、参加者全体のセッション時間の平均で22.4%を占める。
  • 新機能の作成は Copilot 関連の二番目に時間がかかる状態で、セッション時間の平均は14.05%である。
  • Copilot 関連の状態(提案の検証、思考の保留、待機、プロンプト作成、提案の編集)は、平均セッション時間の51.4%を占める。
  • 受容率はタスクによって異なり、データ操作は受容が低く(24.8%)、ボイラープレート/コード作成タスクは高く(41.9%)である。
  • プログラミング経験と事前の Copilot 使用経験は受容率の高さと相関する(経験豊富: 約30% 対 少ない経験: 約38%;事前 Copilot 使用者: 約38% 対 非使用者: 約29%)。
  • 思考を後回しにする傾向が一般的で、ユーザーは即時の検証よりも後で検査するために提案を受け入れるか、ハイライトとともに受け入れることが多い、という示唆を示している。

より良い研究を、今すぐ始めましょう

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。