[发明专利]细粒度的基于频繁项集挖掘产生API替换规则的方法有效
申请号: | 201510173809.9 | 申请日: | 2015-04-13 |
公开(公告)号: | CN104820587B | 公开(公告)日: | 2018-03-02 |
发明(设计)人: | 余萍;杨飞;吕建 | 申请(专利权)人: | 南京大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30 |
代理公司: | 南京苏高专利商标事务所(普通合伙)32204 | 代理人: | 李玉平 |
地址: | 210046 江苏*** | 国省代码: | 江苏;32 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明公开了一种细粒度的基于频繁项集挖掘产生API替换规则的方法,该方法通过新旧版本的API在类库内部被调用的变化情况,利用频繁项集挖掘算法推导出新旧版本API在使用中的替换规则。从每个匹配的方法对中提取事务时,利用LCS算法比较该匹配方法对的源码,利用相同代码行数大于指定阈值的Range作为分割点,产生若干个匹配的代码片段对,然后由每对代码片段的调用关系的变化产生事务。与现有的以方法为单位产生调用关系变化的方案相比,本发明在一定程度上保留了调用方法的上下文信息,提高了事务的准确度。本发明通过在产生的事务集合上应用频繁项集挖掘算法产生频繁项集,然后从中产生关联规则,可以产生更加多样化的API替换规则。 | ||
搜索关键词: | 细粒度 基于 频繁 挖掘 产生 api 替换 规则 方法 | ||
【主权项】:
一种细粒度的基于频繁项集挖掘产生API替换规则的方法,其特征在于,包含以下步骤:1)首先从Library的新旧版本version1和version2中提取出事务数据集;2)指定最小支持度,利用闭频繁项集挖掘算法在1)中提取的事务数据集上进行挖掘,产生闭频繁项集;指定最小置信度,然后从闭频繁项集中产生关联规则;3)检测应用程序中使用旧API的调用,并在IDE中自动显示为高亮;并在IDE中列出相应的替换规则供开发人员参考;步骤2)中使用事务刻画了一个代码片段s在version1和version2中调用关系的变化;每个事务可以包含两种类型的项:Added和Removed类型,其中Added类型的项表示该代码片段在新版本中相对于旧版本添加的方法调用,而Removed类型的项表示该代码片段在新版本中相对于旧版本移除的方法调用;步骤1)中从version1和version2中提取出事务数据集的具体步骤包括:11)解析version1和version2的源码,匹配在两个版本中定义的方法;12)分析每个匹配的方法对的源码,将其分割成若干个匹配的代码片段对;13)对每个匹配的代码片段对,分析其调用关系的变化情况,产生Added和Removed类型的项,组成一个事务。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于南京大学,未经南京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201510173809.9/,转载请声明来源钻瓜专利网。