首页> 外文期刊>Services Computing, IEEE Transactions on >ROSF: Leveraging Information Retrieval and Supervised Learning for Recommending Code Snippets
【24h】

ROSF: Leveraging Information Retrieval and Supervised Learning for Recommending Code Snippets

机译:ROSF:利用信息检索和监督学习推荐代码段

获取原文
获取原文并翻译 | 示例

摘要

When implementing unfamiliar programming tasks, developers commonly search code examples and learn usage patterns of APIs from the code examples or reuse them by copy-pasting and modifying. For providing high-quality code examples, previous studies present several methods to recommend code snippets mainly based on information retrieval. In this paper, to provide better recommendation results, we propose ROSF, Recommending code Snippets with multi-aspect Features, a novel method combining both information retrieval and supervised learning. In our method, we recommend Top-K code snippets for a given free-formquery based on two stages, i.e., coarse-grained searching and fine-grained re-ranking. First, we generate a code snippet candidate set by searching a code snippet corpus using an information retrieval method. Second, we predict probability values of the code snippets for different relevance scores in the candidate set by the learned prediction model from a training set, re-rank these candidate code snippets according to the probability values, and recommend the final results to developers. We conduct several experiments to evaluate our method in a large- scale corpus containing 921,713 real-world code snippets. The results show that ROSF is an effective method for code snippets recommendation and outperforms the-state-of-the-art methods by 20-41 percent in Precision and 13-33 percent in NDCG.
机译:在执行不熟悉的编程任务时,开发人员通常会搜索代码示例并从代码示例中学习API的使用模式,或者通过复制粘贴和修改来重用它们。为了提供高质量的代码示例,以前的研究提出了几种主要基于信息检索来推荐代码段的方法。在本文中,为了提供更好的推荐结果,我们提出了ROSF,推荐具有多方面特征的代码段,这是一种将信息检索与监督学习相结合的新方法。在我们的方法中,我们建议基于两个阶段(即粗粒度搜索和细粒度重新排序)针对给定的自由格式查询使用Top-K代码段。首先,通过使用信息检索方法搜索代码片段语料库,生成代码片段候选集。其次,我们根据训练集中的学习预测模型预测候选集中不同相关分数的代码片段的概率值,根据概率值对这些候选代码片段重新排序,然后将最终结果推荐给开发人员。我们进行了一些实验,以评估包含921,713个现实世界代码段的大规模语料库中的方法。结果表明,ROSF是一种有效的代码片段推荐方法,其精度比最新方法高20-41%(精确度)和NDCG(13-33%)。

著录项

  • 来源
    《Services Computing, IEEE Transactions on》 |2019年第1期|34-46|共13页
  • 作者单位

    Dalian Univ Technol, Sch Software, Dalian 116024, Peoples R China|Key Lab Ubiquitous Network & Serv Software Liaoni, Dalian, Peoples R China|Wuhan Univ, State Key Lab Software Engn, Wuhan 116024, Hubei, Peoples R China;

    Dalian Univ Technol, Sch Software, Dalian 116024, Peoples R China|Key Lab Ubiquitous Network & Serv Software Liaoni, Dalian, Peoples R China;

    Dalian Univ Technol, Sch Software, Dalian 116024, Peoples R China|Key Lab Ubiquitous Network & Serv Software Liaoni, Dalian, Peoples R China;

    Dalian Univ Technol, Sch Software, Dalian 116024, Peoples R China|Key Lab Ubiquitous Network & Serv Software Liaoni, Dalian, Peoples R China;

    Dalian Univ Technol, Sch Software, Dalian 116024, Peoples R China|Key Lab Ubiquitous Network & Serv Software Liaoni, Dalian, Peoples R China;

    Harbin Engn Univ, Coll Comp Sci & Technol, Harbin, Heilongjiang, Peoples R China;

    Hong Kong Polytech Univ, Dept Comp, Hong Kong, Peoples R China;

  • 收录信息
  • 原文格式 PDF
  • 正文语种 eng
  • 中图分类
  • 关键词

    Code snippets recommendation; information retrieval; supervised learning; topic model; feature;

    机译:代码段推荐;信息检索;监督学习;主题模型;功能;

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号