基于用户反馈的API推荐工具
作者:
基金项目:

国家重点研发计划(2018YFB1003902);国家自然科学基金(61972197)


API Recommendation Tool Based on User Feedback
Author:
  • 摘要
  • | |
  • 访问统计
  • |
  • 参考文献 [13]
  • |
  • 相似文献 [20]
  • | | |
  • 文章评论
    摘要:

    在软件开发的过程中, 开发人员经常会检索合适的API来完成编程任务. 为了提高软件开发效率, 大量API推荐方法及工具应运而生. 然而, 这些方法大多数都没有考虑用户交互信息. 本文提出了一个基于客户端/服务器架构的API推荐工具, 将其以插件的形式集成到VS Code IDE中. 本工具使用现有的API推荐工具生成初始API推荐列表, 结合用户反馈信息, 利用排序学习和主动学习技术对API推荐列表进行重新排序, 实现了用户个性化推荐. 大量实验证明, 随着反馈数据量的增加, 本工具的性能稳步提升.

    Abstract:

    Developers often search for appropriate APIs to complete programming tasks during software development. Many API recommendation approaches and tools have been proposed to improve the efficiency of software development, but most of these approaches do not consider user interaction information. In this study, we propose an API recommendation tool based on client/server architecture and integrate it into the VS Code IDE in the form of a plug-in. In our tool, initial API recommendation lists are generated by existing tools. Learning-to-rank and active learning techniques are used, combined with user feedback information, to re-rank the API recommendation lists, achieving personalized recommendation. Extensive experiments demonstrate that the performance of this tool has been steadily improved with the increase in feedback data.

    参考文献
    [1] Brandt J, Guo PJ, Lewenstein J, et al. Two studies of opportunistic programming:Interleaving web foraging, learning, and writing code. Proceedings of the 27th International Conference on Human Factors in Computing Systems. Boston, MA, USA. 2009. 1589-1598.
    [2] Thung F, Wang SW, Lo D, et al. Automatic recommendation of API methods from feature requests. Proceedings of the 28th IEEE/ACM International Conference on Automated Software Engineering. Silicon Valley, CA, USA. 2013. 290-300.
    [3] Huang Q, Xia X, Xing ZC, et al. API method recommendation without worrying about the task-API knowledge gap. Proceedings of the 33rd ACM/IEEE International Conference on Automated Software Engineering. Montpellier, France. 2018. 293-304.
    [4] Java documentation. http://docs.oracle.com/java-se/8/docs/api/. (2019-05-06).
    [5] Rahman MM, Roy CK. Effective reformulation of query for code search using crowdsourced knowledge and extra-large data analytics. Proceedings of 2018 IEEE International Conference on Software Maintenance and Evolution. Madrid, Spain. 2018. 473-484.
    [6] Wang SW, Lo D, Jiang LX. Active code search:Incorporating user feedback to improve code search relevance. Proceedings of the 29th ACM/IEEE international conference on Automated software engineering. Vasteras, Sweden. 2014. 677-682.
    [7] Zhou Y, Yang XY, Chen TL, et al. Boosting API Recommendation with Implicit Feedback. IEEE Transactions on Software Engineering, 2021.
    [8] Stack overflow. https://stackoverflow.com/. (2019-04-13).
    [9] Jentsch M. Stack overflow data dump. http://www.dieletztedomain.de/stack-overflow-data-dump/. (2014-01-27).
    [10] NLTK. http://www.nltk.org/. (2019-04-28).
    [11] Word2Vec. https://radimrehurek.com/gensim/models/word2vec.html.(2019-04-28).
    [12] Mihalcea R, Corley CD, Strapparava C. Corpus-based and knowledge-based measures of text semantic similarity. Proceedings of the 21st National Conference on Artificial Intelligence and the 18th Innovative Applications of Artificial Intelligence Conference. Boston, MA, USA. 2006. 775-780.
    [13] Arcuri A, Briand L. A practical guide for using statistical tests to assess randomized algorithms in software engineering. Proceedings of the 33rd International Conference on Software Engineering. Honolulu, HI, USA. 2011. 1-10.
    引证文献
    网友评论
    网友评论
    分享到微博
    发 布
引用本文

杨忻莹,周宇.基于用户反馈的API推荐工具.计算机系统应用,2021,30(8):237-242

复制
分享
文章指标
  • 点击次数:1199
  • 下载次数: 1931
  • HTML阅读次数: 1481
  • 引用次数: 0
历史
  • 收稿日期:2020-11-24
  • 最后修改日期:2020-12-22
  • 在线发布日期: 2021-08-03
文章二维码
您是第12821910位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京海淀区中关村南四街4号 中科院软件园区 7号楼305房间,邮政编码:100190
电话:010-62661041 传真: Email:csa (a) iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号