集成开发环境(IDE)提供工具支持,以自动化许多源代码编辑任务。传统上,IDE仅使用空间上下文,即开发人员正在编辑的位置来生成候选编辑建议。但是,仅空间上下文通常不足以自信地预测开发人员的下一个编辑,因此IDE在某个位置会产生许多建议。因此,IDE通常不会主动提供建议,而是需要单击特定图标或菜单,然后从大量潜在建议列表中进行选择。结果,开发人员通常会错过使用工具支持的机会,因为他们不知道它存在或忘记使用它。为了更好地理解开发人员行为中的常见模式并产生更好的编辑建议,我们还可以使用时间上下文,即开发人员最近执行的编辑。为了启用基于时间上下文的编辑建议,我们提出了《守望先锋》,这是一种从IDE中执行的开发人员编辑痕迹学习编辑序列模式的新颖技术。我们的实验表明,《守望先锋》具有78%的精度,守望先锋不仅完成了开发人员错过使用IDE工具支持的机会,而且还预测了在IDE中没有工具支持的新编辑。
translated by 谷歌翻译