"Should I Give Up Now?" Investigating LLM Pitfalls in Software Engineering
This research addresses the problem of unreliable AI assistants for software engineers, highlighting significant pitfalls that lead to abandonment, though it is incremental in building on existing human-AI interaction studies.
The study investigated the effectiveness of LLMs like ChatGPT in software engineering workflows by analyzing data from 26 participants in a web development task, identifying nine failure types and finding that unhelpful responses increased abandonment likelihood by a factor of 11, while each additional prompt reduced it by 17%.
Software engineers are increasingly incorporating AI assistants into their workflows to enhance productivity and alleviate cognitive load. However, experiences with large language models (LLMs) such as ChatGPT vary widely. While some engineers find them useful, others deem them counterproductive due to inaccuracies in their responses. Researchers have also observed that ChatGPT often provides incorrect information. Given these limitations, it is crucial to determine how to effectively integrate LLMs into software engineering (SE) workflow. Analyzing data from 26 participants in a complex web development task, we identified nine failure types categorized into incorrect or incomplete responses, cognitive overload, and context loss. Users attempted to mitigate these issues through scaffolding, prompt clarification, and debugging. However, 17 participants ultimately chose to abandon ChatGPT due to persistent failures. Our quantitative analysis revealed that unhelpful responses increased the likelihood of abandonment by a factor of 11, while each additional prompt reduced abandonment probability by 17%. This study advances the understanding of human-AI interaction in SE tasks and outlines directions for future research and tooling support.