中文

后续注意力:开发者与神经模型代码探索的实证研究

软件工程 2024-08-30 v2 人工智能 人机交互 机器学习

摘要

近年来,诸如 OpenAI Codex 和 AlphaCode 等神经代码模型凭借其底层的注意力机制,在代码生成方面展现出了卓越的能力。然而,这些模型实际上是如何处理代码的,其推理过程及注意力机制扫描代码的方式在多大程度上与开发者的模式相匹配,往往仍不清楚。对模型推理过程理解的不足,限制了当前神经模型的利用方式,目前大多仅用于其原始预测。为了填补这一空白,本研究探讨了三个开源大语言模型——CodeGen、InCoder 和 GPT-J——处理后的注意力信号,与开发者在回答相同的代码意义构建问题时查看和探索代码的方式之间的一致性。此外,我们贡献了一个开源的眼动追踪数据集,包含来自 25 名开发者执行意义构建任务的 92 个手工标注会话。我们根据开发者探索代码的真实基准,对五种不使用注意力的启发式方法和十种基于 CodeGen 注意力信号的注意力后处理方法进行了实证评估,其中包括后续注意力这一新概念,它在模型与人类注意力之间展现出最高的一致性。我们的后续注意力方法能够以 47% 的准确率预测开发者将要查看的下一行。这优于 42.3% 的基线预测准确率,后者使用其他开发者的会话历史来推荐下一行。这些结果证明了利用预训练模型的注意力信号进行有效代码探索的潜力。

关键词

引用

@article{arxiv.2210.05506,
  title  = {Follow-up Attention: An Empirical Study of Developer and Neural Model Code Exploration},
  author = {Matteo Paltenghi and Rahul Pandita and Austin Z. Henley and Albert Ziegler},
  journal= {arXiv preprint arXiv:2210.05506},
  year   = {2024}
}

备注

Published at IEEE Transactions on Software Engineering