Skip to main content
QUICK REVIEW

[論文レビュー] Practitioners' Expectations on Code Completion

Chaozheng Wang, Junhao Hu|arXiv (Cornell University)|Jan 10, 2023
Software System Performance and Reliability被引用数 11
ひとこと要約

本論文は、インタビューと大規模調査を通じて実務者のコード補完ツールに対する期待を実証的に調査し、2012–2022の研究文献と比較してギャップと今後の研究方向を特定する。

ABSTRACT

Code completion has become a common practice for programmers during their daily programming activities. It aims at automatically predicting the next tokens or lines that the programmers tend to use. A good code completion tool can substantially save keystrokes and improve the programming efficiency for programmers. Recently, various techniques for code completion have been proposed for usage in practice. However, it is still unclear what are practitioners' expectations on code completion and whether existing research has met their demands. To fill the gap, we perform an empirical study by first interviewing 15 practitioners and then surveying 599 practitioners from 18 IT companies about their expectations on code completion. We then compare the practitioners' demands with current research via conducting a literature review of papers on code completion published in premier publication venues from 2012 to 2022. Based on the comparison, we highlight the directions desirable for researchers to invest efforts towards developing code completion techniques for meeting practitioners' expectations.

研究の動機と目的

  • 実務者の間でのコード補完実践の現状を調査する。
  • 実世界の開発におけるコード補完の課題と重要性を特定する。
  • トークンレベルとステートメントレベルの粒度で実務者の期待を明らかにする。
  • 現在の研究が実務ニーズとどの程度適合しているかを評価し、今後の研究のギャップを明らかにする。

提案手法

  • 15人の実務者への半構造化インタビューを実施し、実践と期待を探る。
  • 18社のIT企業に所属する599人の実務者を対象にオンライン調査を実施し、定量的検証を行う。
  • 主要な学術誌・会議(2012–2022)におけるコード補完研究の文献調査を実施し、実務者の期待と比較する。

実験結果

リサーチクエスチョン

  • RQ1RQ1: 実務者の間でのコード補完実践の現状(ツールと使用シナリオ)はどうなっているか?
  • RQ2RQ2: コード補完は実務者にとって重要か、そして彼らが直面している課題は何か?
  • RQ3RQ3: 実務者のトークンレベルとステートメントレベルのコード補完ツールに対する期待(使用法、指標、アクセス、効果、効率、一般的なツール要因)は何か?
  • RQ4RQ4: 現在の研究は実務者の要求をどの程度満たしており、ギャップはどこにあるか?

主な発見

  • IDEに組み込まれたコード補完が最も一般的に使われるツールで(96%)、CopilotやIntelliCodeなどのサードパーティ製プラグインは約13%に利用されています。
  • トークンレベルの補完は(81%)で、ステートメントレベル補完(32%)よりはるかに人気があり、識別子補完とAPI推奨が最も利用されるサブシナリオ(約85%)です。
  • 実務者の88%がコード補完を重要とみなす一方で、現在のツールを満足とするのは36%に過ぎる。主な問題は誤った補完(56%)、導入の煩雑さ(58%)、ランク付けの不良(34%)など。
  • トークンレベルの補完について、80%以上が識別子補完、API推奨、パス補完を期待;約79%がトップ3候補の精度を望み、85%が200ms以内の結果を期待。
  • ステートメントレベル補完では、スケルトン予測、現在編集中の行の補完、API引数の推奨が最も期待される。希望レイテンシは≤2秒で、文法的正確さと読みやすさを評価指標として重視。
  • 研究と実務ニーズの間には顕著なギャップがある:多くのトークンレベル研究はAPI/識別子補完に焦点をあて、パス補完にはほとんど Address されていない;ステートメントレベル研究は次の行の補完を重視し、スケルトンやAPI引数予測には焦点を当てていない;重なり語彙のn-gramや編集距離類似度といった一般的な評価指標は実務者にはあまり好まれない。

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

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

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

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