一句话:提出基于交互历史中代码元素拓扑模式与角色刻板印象的代码上下文模型预测方法,并优于Suade。
代码上下文模型由与开发任务相关的源代码元素及其关系组成,显式化有助于代码导航与搜索,但主动构建方法研究不足。本文基于项目交互历史中代码元素的拓扑模式,先按代码元素的 stereotype roles 学习抽象拓扑模式,而非绑定具体元素;再用图模式匹配为给定任务预测代码上下文模型。作者在 Eclipse Mylyn 项目交互历史上评估,1/2/3步预测最大F-measure为0.67/0.33/0.21;1步预测平均F-measure为0.57,显著高于仅支持1步的Suade(0.23)。结果表明结合历史与结构信息能提升预测准确性。
Code context models consist of source code elements and their relations relevant to a development task. Prior research showed that making code context models explicit in software tools can benefit software development practices, e.g., code navigation and searching. However, little focus has been put on how to proactively form code context models. In this paper, we explore the proactive formation of code context models based on the topological patterns of code elements from interaction histories for a project. Specifically, we first learn abstract topological patterns based on the stereotype roles of code elements, rather than on specific code elements; we then leverage the learned patterns to predict the code context models for a given task by graph pattern matching. To determine the effectiveness of this approach, we applied the approach to interaction histories stored for the Eclipse Mylyn open source project. We found that our approach achieves maximum F-measures of 0.67, 0.33 and 0.21 for 1-step, 2-step and 3-step predictions, respectively. The most similar approach to ours is Suade, which supports 1-step prediction only. In comparison to this existing work, our approach predicts code context models with significantly higher F-measure (0.57 over 0.23 on average). The results demonstrate the value of integrating historical and structural approaches to form more accurate code context models.
DOI 原文 ·
@inproceedings{paperbot6016,
title = {Predicting code context models for software development tasks},
author = {Zhiyuan Wan and Gail C. Murphy and Xin Xia},
booktitle = {ASE},
year = {2020},
doi = {10.1145/3324884.3416544}
}