Skip to main content
QUICK REVIEW

[論文レビュー] Exploring Context-Aware Conversational Agents in Software Development

Glaucia Melo, Edith Law|arXiv (Cornell University)|Jun 3, 2020
AI in Service Interactions参考文献 17被引用数 12
ひとこと要約

本研究では、ソフトウェア開発者が開発プロセス中に繰り返し発生する文脈依存のタスクを支援するために、文脈に配慮したチャットボットの使用を検討する。Slackを用いたウォズウィル・オブ・オズ実験の結果、開発者は主にタスクのガイダンスと文脈に配慮した提案を重視しており、経験豊富な開発者ほどその有用性を高く評価している。今後の実装においては、パーソナライズと文脈認識の重要性が浮き彫りになった。

ABSTRACT

Software development is a complex endeavor that depends on a wide variety of contextual factors involving a large amount of distributed information. This knowledge could include: technology-related tasks, software operating environments and stakeholder requirements. A major roadblock to using this knowledge in software development is that most of this information is implicit and captured in the developers' minds (tacit) or spread through volumes of documentation. Developers, as they work often have to maintain mental models of these tasks as they produce the software. As a result, context can be easily lost or forgotten and developers often use trial-and-error approaches while finishing the project. This study aims at analyzing whether supporting software developers with a chatbot during task execution can improve the overall development experience. The chatbot can assist the developers in executing different tasks based on implicit contextual information. We propose an implementation to explore the viability of using textual chatbots to assist developers automatically and proactively with software development project activities that recur.

研究の動機と目的

  • チャットボットが文脈に配慮したタスク実行を支援することで、ソフトウェア開発体験を向上させられるかどうかを調査すること。
  • リアルタイムの開発ワークフローにおいて、開発者がチャットボットとどのように対話するかを特定すること。
  • ソフトウェア開発における暗黙的で内省的な知識を、会話型エージェントを介して明示化できるかを検討すること。
  • 繰り返し発生する開発タスクに対して、チャットボットを能動的なアシスタントとして使用する可能性を評価すること。

提案手法

  • 実際の開発環境でチャットボットをシミュレートする目的で、Slackを対話プラットフォームとして使用したウォズウィル・オブ・オズ研究を実施した。
  • 事前および事後のアンケート調査と、チャット対話の直接観察を通じて、定性的および定量的データを収集した。
  • 開発者からの入力とタスクシナリオに基づいて、文脈に配慮した応答をシミュレートするためのチャットボットインターフェースを設計した。
  • プルリクエスト、Gitコマンド、ワークフロー進行といった一般的な開発タスクに焦点を当てた。
  • 将来的な実装の基盤としてRasaを参考フレームワークとし、意図認識と対話管理の重要性を強調した。
  • チャットログとフィードバックの分析を通じて、繰り返し発生する質問や対話のパターンを同定した。

実験結果

リサーチクエスチョン

  • RQ1チャットボットは、開発タスクの実行中に開発者をどの程度支援できるか?
  • RQ2開発者は、チャットボットを通じて、どのようなタスクをオフロードまたはガイダンスを求めたいと考えるか?
  • RQ3能動的に文脈に配慮したアクションを提案するチャットボットの有用性を、開発者はどのように評価するか?
  • RQ4リポジトリ、ブランチ、コミットパターンなどの文脈は、開発者がチャットボット支援を期待する上でどのような役割を果たすか?
  • RQ5開発者の経験年数は、チャットボット支援の価値に対する認識にどのように影響するか?

主な発見

  • 開発者は、タスク管理やワークフローガイダンスの支援ツールとしてチャットボットの使用に強い関心を示した。
  • 平均的な対話時間は10.8分で、参加者は平均15件の質問をした。これは、高い関与度を示している。
  • 1年以上の経験を持つ開発者はチャットボットの支援を役立つと感じたが、経験が浅い開発者は低い評価を下した。これは、初心者向けにより詳細な支援が必要であることを示唆している。
  • 参加者たちはプルリクエストについて頻繁に質問しており、これは彼らのワークフローにおいて高摩擦で繰り返し発生するタスクであることがうかがえる。
  • ほとんどの参加者が、push、pull、cloneといった基本的なGit操作について尋ねなかった。これは、これらの操作が低負荷または十分に理解されていると見なされているためである。
  • 参加者たちは、リポジトリ、ブランチ、コミットメッセージのパターンを把握していることで、チャットボットの関連性と有用性が向上することの重要性を強調した。

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

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

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

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