Boosting API Recommendation With Implicit Feedback

被引:34
作者
Zhou, Yu [1 ,2 ]
Yang, Xinying [1 ]
Chen, Taolue [2 ,3 ]
Huang, Zhiqiu [1 ]
Ma, Xiaoxing [2 ]
Gall, Harald [4 ]
机构
[1] Nanjing Univ Aeronaut & Astronaut, Coll Comp Sci & Technol, Nanjing 210016, Peoples R China
[2] Nanjing Univ, State Key Lab Novel Software Technol, Nanjing 210023, Peoples R China
[3] Univ Surrey, Dept Comp Sci, Guildford GU2 7XH, Surrey, England
[4] Univ Zurich, Dept Informat, CH-8006 Zurich, Switzerland
基金
国家重点研发计划; 中国国家自然科学基金;
关键词
Task analysis; Software; Feature extraction; Training; Programming; History; Engines; API recommendation; learning to rank; active learning; natural language processing; CODE; EFFICIENT; CONTEXT; QUERY;
D O I
10.1109/TSE.2021.3053111
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Developers often need to use appropriate APIs to program efficiently, but it is usually a difficult task to identify the exact one they need from a vast list of candidates. To ease the burden, a multitude of API recommendation approaches have been proposed. However, most of the currently available API recommenders do not support the effective integration of user feedback into the recommendation loop. In this paper, we propose a framework, BRAID (Boosting RecommendAtion with Implicit FeeDback), which leverages learning-to-rank and active learning techniques to boost recommendation performance. By exploiting user feedback information, we train a learning-to-rank model to re-rank the recommendation results. In addition, we speed up the feedback learning process with active learning. Existing query-based API recommendation approaches can be plugged into BRAID. We select three state-of-the-art API recommendation approaches as baselines to demonstrate the performance enhancement of BRAID measured by Hit@k (Top-k), MAP, and MRR. Empirical experiments show that, with acceptable overheads, the recommendation performance improves steadily and substantially with the increasing percentage of feedback data, comparing with the baselines.
引用
收藏
页码:2157 / 2172
页数:16
相关论文
共 66 条
[1]   SENSORY: Leveraging Code Statement Sequence Information for Code Snippets Recommendation [J].
Ai, Lei ;
Huang, Zhiqiu ;
Li, Weiwei ;
Zhou, Yu ;
Yu, Yaoshen .
2019 IEEE 43RD ANNUAL COMPUTER SOFTWARE AND APPLICATIONS CONFERENCE (COMPSAC), VOL 1, 2019, :27-36
[2]   API Code Recommendation using Statistical Learning from Fine-Grained Changes [J].
Anh Tuan Nguyen ;
Hilton, Michael ;
Codoban, Mihai ;
Hoan Anh Nguyen ;
Mast, Lily ;
Rademacher, Eli ;
Nguyen, Tien N. ;
Dig, Danny .
FSE'16: PROCEEDINGS OF THE 2016 24TH ACM SIGSOFT INTERNATIONAL SYMPOSIUM ON FOUNDATIONS OF SOFTWARE ENGINEERING, 2016, :511-522
[3]  
[Anonymous], 2005, P 20 NATL C ARTIFICI
[4]   A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering [J].
Arcuri, Andrea ;
Briand, Lionel .
2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, :1-10
[5]   Recommending Framework Extension Examples [J].
Asaduzzaman, Muhammad ;
Roy, Chanchal K. ;
Schneider, Kevin A. ;
Hou, Daqing .
2017 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2017, :456-466
[6]   CSCC: Simple, Efficient, Context Sensitive Code Completion [J].
Asaduzzaman, Muhammad ;
Roy, Chanchal K. ;
Schneider, Kevin A. ;
Hou, Daqing .
2014 IEEE INTERNATIONAL CONFERENCE ON SOFTWARE MAINTENANCE AND EVOLUTION (ICSME), 2014, :71-80
[7]  
Brandt J, 2009, CHI2009: PROCEEDINGS OF THE 27TH ANNUAL CHI CONFERENCE ON HUMAN FACTORS IN COMPUTING SYSTEMS, VOLS 1-4, P1589
[8]   The anatomy of a large-scale hypertextual Web search engine [J].
Brin, S ;
Page, L .
COMPUTER NETWORKS AND ISDN SYSTEMS, 1998, 30 (1-7) :107-117
[9]  
Burges C.J., 2010, Learning, V11, P81
[10]  
Burges Christopher, 2006, P INT C NEUR INF PRO, P193, DOI [10.7551/mitpress/7503.003.0029, DOI 10.7551/MITPRESS/7503.003.0029]