Code context models consist of source code elements and their relations relevant to a task in a developer’s hand. 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.
Conference DayThu 24 SepDisplayed time zone: (UTC) Coordinated Universal Time change
01:10 - 02:10
|Identifying and Describing Information Seeking Tasks|
|Predicting Code Context Models for Software Development Tasks|
|Edge4Real: A Cost-Effective Edge Computing based Human Behaviour Recognition System for Human-Centric Software Engineering|
DI SHAOSchool of Information Technology, Deakin University, Xiao LiuSchool of Information Technology, Deakin University, Ben ChengSchool of Information Technology, Deakin University, Owen WangSchool of Information Technology, Deakin University, Thuong HoangSchool of Information Technology, Deakin University