Code-recommendation systems, such as Copilot and CodeWhisperer, have the potential to improve programmer productivity by suggesting and auto-completing code. However, to fully realize their potential, we must understand how programmers interact with these systems and identify ways to improve that interaction. To seek insights about human-AI collaboration with code recommendations systems, we studied GitHub Copilot, a code-recommendation system used by millions of programmers daily. We developed CUPS, a taxonomy of common programmer activities when interacting with Copilot. Our study of 21 programmers, who completed coding tasks and retrospectively labeled their sessions with CUPS, showed that CUPS can help us understand how programmers interact with code-recommendation systems, revealing inefficiencies and time costs. Our insights reveal how programmers interact with Copilot and motivate new interface designs and metrics.
翻译:代码推荐系统(如Copilot和CodeWhisperer)通过建议和自动补全代码,有望提升程序员的生产力。然而,要充分发挥其潜力,我们必须理解程序员如何与这些系统交互,并找出改进交互方式的方法。为探索代码推荐系统中人机协作的深层洞见,我们研究了GitHub Copilot——一个每日被数百万程序员使用的代码推荐系统。我们开发了CUPS——一种用于描述程序员与Copilot交互时常见活动的分类体系。在21名程序员参与的编码实验中,他们完成任务后使用CUPS对自身会话进行回顾性标注,结果显示CUPS有助于理解程序员与代码推荐系统的交互模式,并揭示其中的效率缺陷与时间成本。我们的研究揭示了程序员与Copilot交互的规律,为新型界面设计和评估指标提供了启发。