[发明专利]一种面向软件功能维护的API及其使用推荐方法有效
申请号: | 201710637424.2 | 申请日: | 2017-07-28 |
公开(公告)号: | CN107479879B | 公开(公告)日: | 2021-09-14 |
发明(设计)人: | 孙小兵;许聪颖;李斌 | 申请(专利权)人: | 扬州大学 |
主分类号: | G06F8/70 | 分类号: | G06F8/70;G06F40/30;G06F16/33;G06F16/332;G06F16/335 |
代理公司: | 南京中新达专利代理有限公司 32226 | 代理人: | 孙鸥;朱杰 |
地址: | 225009 *** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 面向 软件 功能 维护 api 及其 使用 推荐 方法 | ||
本发明涉及一种面向软件功能维护的API及其使用推荐方法。本发明将输入数据预处理后,从语义相似性和协同演化进行信息检索和特征定位,检索功能相关API以及定位出位置,用代码分析从定位到的源代码文件中提取变量信息,用词嵌技术计算出系统变量信息与API参数之间相似度,用于对API进行系统适用性排序及对API使用参数推荐,将筛选出API及使用参数、位置推荐给开发人员,给出推荐理由信息以辅助开发人员进行选择,高效得实现用户的功能请求。本发明克服了开发人员的工作量大的缺陷。本发明在推荐API的同时,还给出其使用的方法、参数及位置,不需要再作其它附加工作。
技术领域
本发明涉及一种面向软件功能维护的API及其使用推荐方法,主要用于对给特定的功能请求推荐出最合适的API及其使用的参数和位置,属于软件维护领域。
背景技术
用户在使用软件的过程中,会根据实际情况提出新的功能请求,需要开发人员不断的维护及实现。大量的API库的发布使得软件开发和维护任务都更快更容易。因为使用已有的API可以让开发人员节省时间,他们不需要再实现别人已实现的功能,直接调用即可。标准库或第三方库的API都经过大量的测试,可靠性很高。但是开发人员需要找到相关的库及API方法了解如何使用它们,了解API的结构以及如何正确填写方法参数。显然,这个过程很耗时,API推荐系统则可以帮助开发人员做很多工作,以提高软件维护效率。
为了实现API推荐系统目前研究领域出现了很多此方面的推荐技术,这些技术主要都在研究如何更准确地推荐出API。这些技术最基本方法原理是:曾经实现过相关的功能请求的API可以实现现在的功能请求。基于这一思想,一些最常用及功能相关性最高的API被推荐出来。
在本发明之前,这些推荐方法仅仅考虑了功能上的相关性并没有考虑到当前系统的实际环境及该API适用起来的难易程度。如果开发人员不熟悉这些推荐出的API,他反而会花费更多的时间理解这些推荐出的API。在实际的软件开发和维护过程中,为实现一个新的功能请求,开发人员会尽可能得利用项目中已有的代码文件,以提高代码的利用率及降低工作量。此时,如果能过定位出需要修改的相关源文件,便可一定程度上减少开发人员的工作量,若所推荐的API能够与所定位出的相关源文件有效得结合,推荐出软件系统中已有的变量作为API的参数,而不是用添加大量的代码来使用API,再给出该API的一些功能及使用介绍,帮助开发人员快速上手该API的使用,这样就可以大大减少开发人员的工作量,更便捷更有效地实现功能请求
发明内容
本发明的目的在于克服上述缺陷,研制一种面向软件功能维护的API及其使用推荐方法。
本发明的技术方案是:
一种面向软件功能维护的API及其使用推荐方法,其主要技术特征在于如下步骤:
(1)以功能请求、目标软件系统、软件演化历史和API库作为输入数据,首先,提取目标软件系统的源代码文件,筛出软件演化历史中的功能请求,以及检索出API库的说明文档;然后使用文本挖掘的预处理技术,先对源代码文件中类名、方法名、变量名及注释等信息进行提取处理;再对用户的功能请求、第三方库的API文档、项目源代码文件中信息和已演化历史中的功能请求进行词条划分,词根处理,动名词同义词、近义词查询扩充词汇量等操作;
(2)挖掘文本中的语义相似度关系,用余弦函数对预处理后的功能请求与演化历史中的功能请求进行相似度计算,得到与功能请求相关的软件演化历史中的功能请求;对预处理后的功能请求与API文档进行相似度计算,得到功能相关的API;对预处理后的功能请求与源代码文件信息进行相似度计算,得到相关的源代码文件;再依据相似度计算API及源代码文件与新功能请求间的相关性分数;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于扬州大学,未经扬州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710637424.2/2.html,转载请声明来源钻瓜专利网。