一句话:提出 IntelliJ IDEA 插件 CA-FACER,利用开发者当前项目上下文推荐相关代码片段,提升机会式复用准确率。
开发者常在线搜索可复用代码,但现有推荐器多基于查询,缺乏面向机会式复用的上下文感知支持。本文提出 CA-FACER,一个 IntelliJ IDEA 插件:它将开发者活跃项目中含 API 用法的方法作为开发上下文,寻找相似项目,并从其热门功能(频繁出现的基于 API 用法的 Method Clone Classes)推荐相关代码片段。在 120 个 GitHub Android Java 项目上评估,所提上下文感知方法较基线精度提升 46%;初始与演化阶段的平均精度([email protected])为 94% 和 83%,成功率 90% 和 95%。
Developers spend a lot of time online, searching for code to help them implement their desired features. While code recommenders help improve developers’ productivity, there is currently no support for context-aware code recommendation for opportunistic code reuse on-the-go. Typical code recommendation systems provide recommendations against a search query, whereas a code recommender that supports opportunistic reuse can recommend related code snippets that represent features that the developer may want to implement next. In this paper, we present a novel Context-aware Feature-driven API usage-based Code Recommender (CA-FACER) tool, which is an Intellij IDEA plugin that leverages a developer’s development context to recommend related code snippets. We consider the methods having API usages in a developer’s active project as part of the development context. Our approach uses contextual data from a developer’s active project to find similar projects and recommends code from popular features of those projects. The popular features are identified as frequently occurring API usage based Method Clone Classes. From our experimental evaluation on 120 Android Java projects from GitHub, we observe a 46% improvement of precision using our proposed context-aware approach over a baseline system. Our technique recommends related code examples with an average precision ([email protected]) of 94% and 83% and a success rate of 90% and 95% for initial and evolved development stages respectively. A video demonstration of our tool is available at https://youtu.be/UjuM8WRc318.