[发明专利]一种基于同源相关性的API推荐方法有效
申请号: | 201910502764.3 | 申请日: | 2019-06-11 |
公开(公告)号: | CN110297628B | 公开(公告)日: | 2023-07-21 |
发明(设计)人: | 李必信;李慧丹;孔祥龙;王璐璐;廖力;周颖 | 申请(专利权)人: | 东南大学 |
主分类号: | G06F8/33 | 分类号: | G06F8/33;G06F16/245 |
代理公司: | 南京众联专利代理有限公司 32206 | 代理人: | 杜静静 |
地址: | 210096 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 同源 相关性 api 推荐 方法 | ||
本发明公开了一种基于同源相关性的API(Application Programming Interface,应用程序接口)推荐方法,在得到新的API推荐需求之后,首先,根据余弦相似度从历史信息库中筛选出前k个相似的历史信息,提取这k个历史信息所对应的API,根据这些API出现频率计算推荐分数Score1。其次,按照推荐分数Score1的大小对API标记权重,计算同一第三方库中API总权重,通过归一化得到API同源影响分数Score2。最后,API推荐分数Score1和同源影响分数Score2进行求和,获得API推荐分数Score,进行API推荐。本推荐技术考虑API同源相关性,更符合实际编程场景需要,提高开发和维护效率,系统安全性更高。
技术领域
本发明涉及评估方法,具体涉及一种基于同源相关性的API推荐方法,属于API推荐技术领域。
背景技术
API(Application Programming Interface,即应用程序编程接口)推荐是代码推荐领域的一个重要部分,随着第三方库的增多,其包含的功能也越来越丰富,在开发项目的过程中,第三方库的使用可以减少项目中的代码量,进而减少代码测试的工作量。但是由于第三方库中庞大的API数量,开发人员在选择合适的API方法时需要阅读相关介绍文档以及查看相关示例代码,需要花费大量的时间来选择合适的API方法,因此自动API推荐对提高软件开发效率,增加第三方库的有效使用具有重要意义。
API推荐的方法主要有利用k近邻或者循环神经网络或者其他机器学习方法进行训练,这种方法是通过把代码中的方法转化为API向量,通过机器学习后进行推荐。另外针对在项目测试演进过程中,根据需求进行API推荐,也有根据历史信息和API文档描述进行API推荐的方法,但其在基于需求推荐的过程中并没有考虑同源API的使用,忽视了编程人员习惯使用同一第三方库API的问题,使得开发效率降低,维护成本较高。
发明内容
本发明正是针对现有技术中存在的问题,提供一种基于同源相关性的API推荐方法,该方法利用余弦相似度,进行历史信息对应方法推荐分析和同源API对推荐过程影响分析。结合API同源相关性对API进行推荐,解决API推荐中第三方库引用较多的问题,提高开发效率,降低维护成本,系统安全性更高。
为了实现上述目的,本发明的技术方案如下,一种基于同源相关性的API推荐方法,包括如下步骤:
步骤1)获得相似历史信息:通过余弦相似度计算获得新需求和历史信息之间的相似度值,获取相似度排名前k的历史信息;
步骤2)获得API推荐分数Score1:在排名前k的历史信息中,计算每个API的推荐分数Score1;
步骤3)获得API同源影响分数Score2:根据步骤2)的推荐分数Score1对API进行排序,并标记每个API权重,根据API找到对应第三方库,计算同一第三方库(即同源)中API的总权重,通过归一化得到API同源影响分数Score2;
步骤4)API推荐:将步骤2)得到的API的推荐分数Score1和步骤3)得到的API同源影响分数Score2进行求和得到API推荐分数Score。根据得到的推荐分数Score进行API推荐,推荐分数越高越优先推荐。
公式:Score=Score1+Score2。
本发明首先根据余弦相似度从历史信息库中筛选出前k个相似的历史信息,提取这k个历史信息所对应的API,根据这些API出现频率计算推荐分数Score1。其次,按照推荐分数Score1的大小对API标记权重,计算同一第三方库中API总权重,通过归一化得到API同源影响分数Score2。最后,API推荐分数Score1和同源影响分数Score2进行求和,获得API推荐分数Score,进行API推荐。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于东南大学,未经东南大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910502764.3/2.html,转载请声明来源钻瓜专利网。