[发明专利]一种面向对象实例化任务的API自动推荐方法及装置有效
申请号: | 201810778473.2 | 申请日: | 2018-07-16 |
公开(公告)号: | CN109144498B | 公开(公告)日: | 2021-12-03 |
发明(设计)人: | 吕晨;韩传波;吕蕾;郑向伟 | 申请(专利权)人: | 山东师范大学 |
主分类号: | G06F8/34 | 分类号: | G06F8/34 |
代理公司: | 济南圣达知识产权代理有限公司 37221 | 代理人: | 张勇 |
地址: | 250014 山*** | 国省代码: | 山东;37 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 对象 实例 任务 api 自动 推荐 方法 装置 | ||
本发明公开了一种面向对象实例化任务的API自动推荐方法及装置。其中,面向对象实例化任务的API自动推荐方法,包括给定一组API集合,构建加权API有向图模型;确定面向对象实例化任务的初始API和终止API,进而查找出加权API有向图模型中所对应的节点并分别作为起点和终点;遍历加权API有向图模型中从所述起点到所述终点的所有路径,形成API调用序列候选集合;从API调用序列候选集合中,筛选出服务质量从优到劣排在预设位数之前的API调用序列并依次推荐给客户端。本申请无需进行人工干预,可自动地完成对象实例化解的推荐。
技术领域
本发明属于数据处理领域,尤其涉及一种面向对象实例化任务的API自动推荐方法及装置。
背景技术
自从计算机问世以来,为方便开发人员和提高生产效率,数量众多的各类软件已经被开发和部署。在这个信息化的时代,IT技术从业人员一直在寻找高效、便捷的软件开发技术。全世界几百万开发人员几十年的编程经验表明:重用现有的软件库和框架是一个切实可行的捷径,如Windows API,Java Development Kit(JDK)。但由于软件库中API(Application Programming Interface,应用程序编程接口)的数目巨大、功能灵活多变,重用这些API并不能信手拈来。
此外,现有的很多软件库和框架并没有足够多、足够好的说明文档,尤其是开源框架类库,其原因包括:(1)撰写良好的说明文档费时、困难;(2)相对编写文档而言,编写代码更受开发人员的重视;(3)项目截止日期的压力。另外,由于软件版本的更新,文档说明往往是陈旧的。故迫切需要方法和工具来应对和简化在重用软件库和框架时遇到的各种问题。这些问题之一是对象实例化(Object Instantiation),已受到众多研究者的关注。其中,对象实例化(Object Instantiation)指的是:给定一对对象类型(Source,Destination),返回从Source类型到达Destination类型的方法调用序列。
尽管每天都要面对的这种问题,可是一旦遇到陌生的软件库和框架,开发人员往往因为(1)阅读长篇累赘或过期的文档说明,而加重开发人员的工作负担;(2)即使利用功能强大的搜索引擎,如Google,进行对象实例化的结果也往往不令人满意。
发明内容
为了解决现有技术的不足,本发明的第一目的是提供一种面向对象实例化任务的API自动推荐方法,其可以极大地减轻开发人员的负担,提高对象实例化的结果的满意度。
本发明的一种面向对象实例化任务的API自动推荐方法,包括:
给定一组API集合,构建加权API有向图模型;其中,加权API有向图模型中每个节点对应给定的API集合中一种API,加权API有向图模型中有向边表示有向边的两个节点所对应的API之间的依赖关系;加权API有向图模型中有向边上的权重表示被调用次数的正则化形式;
确定面向对象实例化任务的初始API和终止API,进而查找出加权API有向图模型中所对应的节点并分别作为起点和终点;
遍历加权API有向图模型中从所述起点到所述终点的所有路径,形成API调用序列候选集合;
从API调用序列候选集合中,筛选出服务质量从优到劣排在预设位数之前的API调用序列并依次推荐给客户端。
进一步的,该方法还包括:从代码库中获取代码,并解析其包含的API。
进一步的,将遍历的所有路径按照权重之和从小到大排序,得到按照服务质量从优到劣排序的API调用序列。
该方案以路径的权重之和为判断服务质量的指标。路径的权重之和代表了API调用序列的总体使用频率,因此,API调用序列的总体使用频率越少,那么表示路径的服务质量越高。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于山东师范大学,未经山东师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810778473.2/2.html,转载请声明来源钻瓜专利网。