🤖 AI Summary
This study addresses critical challenges in human-AI collaboration for software development—including low co-development efficiency, insufficient trust, and weak perceived control. To tackle these issues, we propose the first taxonomy of developer-AI interactions spanning the entire software engineering lifecycle. Grounded in empirical analysis and consensus among domain experts, the taxonomy systematically classifies eleven distinct interaction patterns, including auto-completion, instruction-driven programming, and conversational assistance. Unlike prior fragmented characterizations, this structured framework establishes a foundational paradigm for AI tool design, human factors evaluation, and research on trustworthy collaborative mechanisms. The taxonomy enables principled, theory-guided optimization of adaptive and reliable programming assistants—shifting human-AI software development from empirically driven practice toward rigorous, evidence-based methodology.
📝 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 improve 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.