[发明专利]一种面向软件功能维护的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及其使用推荐方法,其特征在于如下步骤:(1)以功能请求、目标软件系统、软件演化历史和API库作为输入数据,首先,提取目标软件系统的源代码文件,筛出软件演化历史中的功能请求,以及检索出API库的说明文档;然后使用文本挖掘的预处理技术,先对源代码文件中类名、方法名、变量名及注释等信息进行提取处理;再对用户的功能请求、第三方库的API文档、项目源代码文件中信息和已演化历史中的功能请求进行词条划分,词根处理,动名词同义词、近义词查询扩充词汇量等操作;(2)挖掘文本中的语义相似度关系,用余弦函数对预处理后的功能请求与演化历史中的功能请求进行相似度计算,得到与功能请求相关的软件演化历史中的功能请求;对预处理后的功能请求与API文档进行相似度计算,得到功能相关的API;对预处理后的功能请求与源代码文件信息进行相似度计算,得到相关的源代码文件;再依据相似度计算API及源代码文件与新功能请求间的相关性分数;(3)将步骤(2)得到的与功能请求相关的演化历史中的功能请求后,找到与之对应的提交文件,利用代码分析技术,从提交文件中分析并提取使用的API及所涉及的源代码文件,形成一个<演化历史中的功能请求,相关源码文件,使用的API>对应列表,得到与新功能请求相关的API及相关的源代码文件,并根据API及源代码文件出现的次数得出与新功能请求间的相关性分数;(4)将特征定位的结果汇总,即将步骤2)中通过信息检索技术,对功能请求与源代码文件信息进行相似度计算得到相关的源代码文件,与步骤3)中通过分析软件演化历史,从对应的提交文件中提取到的源文件进行汇总,得到相关的源代码文件序列,作为特征定位的结果,也是本次功能请求可能涉及的源文件,即API可能使用的位置;(5)将特征定位的结果即步骤4)得出的相关源文件作为输入,通过代码分析技术提取出源文件中的变量信息;(6)将步骤(5)得到的变量信息与候选API的形式参数信息从类型和词义进行相似度计算,并以此打出API的适用性分数;(7)将步骤(2)、(3)及(5)中筛选出的API进行集成,将三者的分数进行加权汇总,得到表示API功能相关性和系统适用性的总体分数;(8)利用信息检索技术,从步骤(6)API序列中获取所推荐的API,从第三方库的API文档中获取该API功能说明及使用方法,从步骤(4)相关源代码文件的序列中获取API使用的位置,从步骤(5)、(6)的变量信息以及与API参数的类型及语义相似度中获取API可能使用的参数;将筛选出的API及其使用的方法、参数和位置推荐给开发人员。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于扬州大学,未经扬州大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201710637424.2/,转载请声明来源钻瓜专利网。