Understanding and supporting how developers prompt for LLM-powered code editing in practice
Daye Nam, Ahmed Omran, Ambar Murillo, Saksham Thakur, Abner Araujo, Marcel Blistein, Alexander Frömmgen, Vincent Hellendoorn, Satish Chandra
TL;DR
This paper investigates how developers prompt for LLM-powered code editing in practice by analyzing Transform Code usage at Google, constructing a dataset of unsatisfactory prompts, and evaluating automatic prompt enhancement. Through a three-phase study, it reveals common gaps in prompts (specifications, operationalization, scope, context, intent) and demonstrates that an auto-prompting tool, AutoPrompter, can improve edit correctness by about 27%. The work combines telemetry analysis, qualitative coding, and LL-driven augmentation to reduce cognitive load and improve communication with code-editing LLMs, while acknowledging limitations such as data scope and model limits. Overall, it highlights actionable directions for improving enterprise AI developer tools through targeted prompt engineering and model-alignment strategies.
Abstract
Large Language Models (LLMs) are rapidly transforming software engineering, with coding assistants embedded in an IDE becoming increasingly prevalent. While research has focused on improving the tools and understanding developer perceptions, a critical gap exists in understanding how developers actually use these tools in their daily workflows, and, crucially, where they struggle. This paper addresses part of this gap through a multi-phased investigation of developer interactions with an LLM-powered code editing feature, Transform Code, in an IDE widely used at Google. First, we analyze telemetry logs of the feature usage, revealing that frequent re-prompting can be an indicator of developer struggles with using Transform Code. Second, we conduct a qualitative analysis of unsatisfactory requests, identifying five key categories of information often missing from developer prompts. Finally, based on these findings, we propose and evaluate a tool, AutoPrompter, for automatically improving prompts by inferring missing information from the surrounding code context, leading to a 27% improvement in edit correctness on our test set.
