摘要
在软件开发的过程中,开发人员在遇到编程困境时通常会检索合适的API来完成编程任务.情境信息和开发者画像在有效的API推荐中起着至关重要的作用,却在很大程度上被忽视了.因而文中提出了一种基于情境感知的API个性化推荐方法.该方法利用程序静态分析技术,对代码文件做抽象语法树解析,提取信息构建代码库,并对开发者API使用偏好建模.然后计算开发者当前查询语句与历史代码库中查询的语义相似度,检索出top-k个相似历史查询.最终利用查询语句信息、方法名信息、情境信息以及开发者API使用偏好信息对API进行重排序并推荐给开发者.通过模拟编程任务开发的不同阶段,使用MRR,MAP,Hit,NDCG评估指标来验证所提方法的有效性.实验结果表明,所提方法的API推荐效果优于基准方法,能够为开发者推荐更想要的API.
基金项目
国家重点研发计划(2018YFB1003900)
国家自然科学基金(61972197)
江苏省自然科学基金(BK20201292)
江苏高校"青蓝工程"()
南京航空航天大学研究生创新基地(实验室)开放基金(Kfjj20191606)