AI code-recommendation systems (CodeRec), such as Copilot, can assist programmers inside an IDE by suggesting and autocompleting arbitrary code; potentially improving their productivity. To understand how these AI improve programmers in a coding session, we need to understand how they affect programmers' behavior. To make progress, we studied GitHub Copilot, and developed CUPS -- a taxonomy of 12 programmer activities common to AI code completion systems. We then conducted a study with 21 programmers who completed coding tasks and used our labeling tool to retrospectively label their sessions with CUPS. We analyze over 3000 label instances, and visualize the results with timelines and state machines to profile programmer-CodeRec interaction. This reveals novel insights into the distribution and patterns of programmer behavior, as well as inefficiencies and time costs. Finally, we use these insights to inform future interventions to improve AI-assisted programming and human-AI interaction.
翻译:AI 代码建议系统(CodeRec),如Coopil等,可以通过建议和自动完成任意代码来帮助IDE内的程序员;有可能提高他们的生产率。为了了解这些AI如何在编码过程中改进程序员,我们需要了解它们如何影响程序员的行为。要取得进展,我们研究了GitHub Copil,并开发了CUPS -- -- 这是AI 代码完成系统共有的12个程序员活动的分类。然后,我们与21个程序员进行了一项研究,他们完成了编码任务,并利用我们的标签工具追溯性地将其会议标为CUPS。我们分析了3000多个标签实例,并用时间和州级机器将结果直观化成程序员-CodeRec互动的特征。这揭示了对程序员行为的分布和模式以及效率和时间成本的新洞察力。最后,我们利用这些洞察力为未来的干预措施提供信息,以改进AI 辅助的方案编制和人类-AI 互动。