[发明专利]基于历史代码变更信息的API误用检测方法在审

专利信息
申请号: 202110301729.2 申请日: 2021-03-22
公开(公告)号: CN113051161A 公开(公告)日: 2021-06-29
发明(设计)人: 江贺;李康乐;周志德;任志磊 申请(专利权)人: 大连理工大学
主分类号: G06F11/36 分类号: G06F11/36;G06F8/71
代理公司: 大连理工大学专利中心 21200 代理人: 隋秀文;温福雪
地址: 116024 辽*** 国省代码: 辽宁;21
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 历史 代码 变更 信息 api 误用 检测 方法
【说明书】:

本发明提供一种基于历史代码变更信息的API误用检测方法,属于软件工程技术领域。该方法首先从代码托管工具上拉取开源项目的历史代码变更信息,提取出API误用相关的修复信息。利用程序修复前后AUG来逆向提取程序变异算子,而不是通过人工设计变异算子,有效且高效地生成大量包含API误用的程序集。API误用集作为测试用例通过测试套件后,分析终止跟踪堆栈中的信息,如果终止堆栈跟踪信息不是目标API误用引起的,或者还包含由其他API误用引起的信息,则说明原始程序中包含API误用。避免了从大量程序中学习正确的API使用模式,提高了API误用检测的效率。

技术领域

本发明属于软件工程技术领域,涉及一种用于检测软件中API错误使用(简称API误用)的技术,具体为基于历史代码变更信息的API误用检测方法。

背景技术

在软件开发过程中,为了节省软件的开发时间和提高软件开发效率,开发人员经常需要使用各种应用程序编程接口(Application Programming Interface,简称API)来复用已有的软件框架或类库。利用API信息隐藏的机制,开发人员无需访问源码或理解被调用API内部工作机制的细节,通过调用对应的API实现类中的具体方法直接可以完成相应的功能。但由于API种类众多,文档信息不够完善,更新维护不及时等原因,开发人员在学习使用API的过程中面临着严峻的挑战,导致在软件开发过程中经常存在一些潜在的误用。

API误用是指违反了API的正确使用规范,比如错误的API调用,缺失API调用或多余的API调用,这些不规范的API使用严重危害着软件的安全。例如在文件读写时,如果开发人员忘记调用close()函数关闭文件读写数据流,就会导致对系统资源的持续占用,存在内存溢出的隐患。此外,在团队协同开发过程中,一个或多个团队成员新引入对于特定程序的API,其他开发人员必须及时查看并学习API正确使用方法,这个过程在缺失文档的情况下是容易混乱且易出错的,但是这种错误在开发过程中往往不容易被发现,甚至很长一段时间内都不会被注意到,API误用给软件开发带了巨大的安全隐患。

API误用检测的技术经过多年的发展,大量的API误用检测方法相继被提出。有从大量正确的API使用中进行模式挖掘的方法,比如基于频繁项集的挖掘技术——PR-Miner。以及一种API误用的变更模式挖掘方法(专利号:CN201910030995.9),通过挖掘出的API误用的变更模式在海量开源项目中频繁出现,来检测开源项目中的API误用,利用频繁项的API误用缺陷检测方法具有很高的误报率。有从API文档出发,使用自然语言处理的技术来分析API文档,从中推断出API使用规约。这种方式不能很好地结合实际软件开发过程,导致其准确率不是很高。基于序列模式匹配的API误用缺陷检测方法的发明(专利号:CN202010972588.2),通过刻画API误用模式,然后在目标被测软件中利用搜索算法搜索符合误用模式的API调用序列,这种方式严重依赖于API误用模式刻画的效果,存在一定的局限性。有基于概率模型的API误用检测方法,比如隐马尔可夫模型的HAPI,基于深度学习的API误用检测等。基于概率的方式往往训练大量的代码,如果样本数据不够充分或局限于某个特定的项目,模型适用性往往不是很广泛。本发明不从海量代码中挖掘正确的API使用模式,而是通过修复前后的代码,在API正确使用模式到错误使用模式之间的变异过程中提取变异算子,而不是通过手工设计变异算子,大大提高了利用变异算子对客户端程序进行变异后产生的客户端API误用的生成率,从而提高了API误用检测的覆盖率和检测的准确性。

发明内容

为解决上述问题,本发明提供了一种基于历史代码变更信息的API误用检测方法。

本发明的技术方案:

一种基于历史代码变更信息的API误用检测方法,步骤如下:

步骤1、软件项目历史代码变更信息收集:从源代码托管平台上收集开源软件项目历史代码变更信息。

下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于大连理工大学,未经大连理工大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/pat/books/202110301729.2/2.html,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top