How Developers Interact with AI: A Taxonomy of Human-AI Collaboration in Software Engineering

Christoph Treude, Marco A. Gerosa
1/15/2025
cs.SEcs.AIcs.HC

No confident code implementation found for this paper. 1 possible match can be shown below.

Abstract

Artificial intelligence (AI), including large language models and generative AI, is emerging as a significant force in software development, offering developers powerful tools that span the entire development lifecycle. Although software engineering research has extensively studied AI tools in software development, the specific types of interactions between developers and these AI-powered tools have only recently begun to receive attention. Understanding and improving these interactions has the potential to enhance productivity, trust, and efficiency in AI-driven workflows. In this paper, we propose a taxonomy of interaction types between developers and AI tools, identifying eleven distinct interaction types, such as auto-complete code suggestions, command-driven actions, and conversational assistance. Building on this taxonomy, we outline a research agenda focused on optimizing AI interactions, improving developer control, and addressing trust and usability challenges in AI-assisted development. By establishing a structured foundation for studying developer-AI interactions, this paper aims to stimulate research on creating more effective, adaptive AI tools for software development.

View on arXivView PDF

Code Implementations

No confident code match yet

We couldn't find an author-owned or strongly-evidenced community implementation for this paper. 1 weaker match is hidden by default — verify before relying on them.

No code implementations found yet.

Know of an implementation? Let us know in the comments below!

Similar Papers

Cite this paper

@article{treude2025developers,
  title  = {How Developers Interact with AI: A Taxonomy of Human-AI Collaboration in Software Engineering},
  author = {Christoph Treude and Marco A. Gerosa},
  year   = {2025},
  eprint = {2501.08774},
  archivePrefix = {arXiv},
  url    = {http://arxiv.org/abs/2501.08774v2}
}

Add a badge to your README

Shows whether official code is linked for this paper.

Code of Paper badge
[![Code of Paper](https://codeofpaper.com/badge/2501.08774.svg)](https://codeofpaper.com/paper/2501.08774)

Discussion