中文

面向验证和修复 LLM 生成代码的开发者行为研究:基于眼动追踪和 IDE 动作

软件工程 2024-05-28 v1 人机交互

摘要

大型语言模型 (LLM) 驱动的代码生成工具,如 GitHub Copilot,正在改变软件工程实践。本文调查了开发者如何验证和修复由 Copilot 生成的代码,以及在这些过程中关注代码来源意识的影响。我们对 28 名参与者进行了实验室研究,他们在三个软件项目中完成了对 Copilot 生成代码的验证和修复任务。参与者被随机分为两个组:一组被告知 LLM 生成代码的来源,另一组则不被告知。我们收集了 IDE 交互数据、眼动数据、认知负荷评估数据,并进行了半结构化访谈。我们的结果表明,在没有明确信息的情况下,开发者往往无法识别出 LLM 生成代码的来源。开发者通常会针对 LLM 生成的代码采用相似的验证和修复策略,但会表现出频繁在代码和注释之间切换、不同的注意力焦点以及倾向于删除和重写代码的行为。了解代码的来源会导致性能提升、搜索 effort 增加、更频繁地使用 Copilot,以及更高的认知负荷。这些发现增进了我们对开发者如何与 LLM 生成代码交互的理解,并对设计促进软件开发中有效的人机协作工具具有启示。

关键词

引用

@article{arxiv.2405.16081,
  title  = {A Study on Developer Behaviors for Validating and Repairing LLM-Generated Code Using Eye Tracking and IDE Actions},
  author = {Ningzhi Tang and Meng Chen and Zheng Ning and Aakash Bansal and Yu Huang and Collin McMillan and Toby Jia-Jun Li},
  journal= {arXiv preprint arXiv:2405.16081},
  year   = {2024}
}