TASK CONTEXT: A Tool for Predicting Code Context Models for Software Development Tasks

Yifeng Wang,Yuhang Lin,Zhiyuan Wan,Xiaohu Yang
DOI: https://doi.org/10.1109/ICSE-Companion58688.2023.00045
2023-01-01
Abstract:A code context model consists of code elements and their relations relevant to a development task. Previous studies found that the explicit formation of code context models 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 propose a tool named TASK CONTEXT for predicting code context models and implement it as an Eclipse plug-in. TASK CONTEXT uses the abstract topological patterns of how developers investigate structurally connected code elements when performing tasks. The tool captures the code elements navigated and searched by a developer to construct an initial code context model. The tool then applies abstract topological patterns with the initial code context model as input and recommends code elements up to 3 steps away in the code structure from the initial code context model. The experimental results indicate that our approach can predict code context models effectively, with a significantly higher F-measure than the state-of-the-art (0.57 over 0.23 on average). Furthermore, the user study suggests that our tool can help practitioners complete development tasks faster and more often as compared to standard Eclipse mechanism.
What problem does this paper attempt to address?