[发明专利]基于序列模式匹配的API误用缺陷检测系统有效

专利信息
申请号: 202010974385.7 申请日: 2020-09-16
公开(公告)号: CN112214399B 公开(公告)日: 2023-01-10
发明(设计)人: 孙文靖;李晓伟;曾杰;贲可荣;苏建敏;洪楠;张清;杨洋;李春静;王赢超 申请(专利权)人: 北京京航计算通讯研究所
主分类号: G06F11/36 分类号: G06F11/36;G06F8/41
代理公司: 中国兵器工业集团公司专利中心 11011 代理人: 周恒
地址: 100074 北*** 国省代码: 北京;11
权利要求书: 查看更多 说明书: 查看更多
摘要:
搜索关键词: 基于 序列 模式 匹配 api 误用 缺陷 检测 系统
【说明书】:

发明属于软件缺陷检测领域,具体涉及一种基于序列模式匹配的API误用缺陷检测系统。本发明不分析API使用规约,而是根据已经发现的API误用缺陷实例,结合补丁文件中缺陷修复前后的代码信息,刻画API误用模式,然后在目标被测软件中利用改进的AC算法搜索符合误用模式的API调用序列,从而检测出相似缺陷。相比基于规约的检测方法,本发明方案有效规避了缺陷检测准确度依赖于规约描述准确性,以及部分API规约本身自带缺陷等问题。提高了API误用缺陷检测的准确度。

技术领域

本发明属于软件缺陷检测领域,具体涉及一种基于序列模式匹配的API误用缺陷检测系统。

背景技术

随着大数据时代的到来,代码资源在开源社区呈爆炸式增长,开发人员相互间分享和复制代码已成常态,并且利用API(application programming interface,应用程序调用接口)作为已有代码库或应用框架的访问接口,实现对高质量代码模块的复用。API的提供方通过API文档中的规约说明了API如何使用,比如Java编程中常用的JavaDoc文档。但是调查显示,开发人员往往在不熟悉API规约的情况下编程,当API的使用违反了API规约中的使用规则,致使程序无法正确执行时,就产生了API误用缺陷。

为检测API误用缺陷,基于规约的检测方法对API规约进行描述,检查目标系统是否满足规约描述的性质,从而判断违例。基于规约的检测方法又分为“显”式规约和“隐”式规约检测方法。其中基于严格的形式化方法描述的为“显”式规约,形式化规约的构建过程需要考虑到API的所有使用条件,过程相当复杂,并且部分API规约本身自带缺陷。利用大数据的思想学习的方法是“隐”式规约,这些方法存在两个问题:1)缺陷检测的准确度依赖于规约的准确度;2)当一个正确调用模式没有在被挖掘样本中出现时,则不能学习出相应规则,此时基于规约的违例检测就会造成误报。

发明内容

(一)要解决的技术问题

本发明要解决的技术问题是:如何提高API误用缺陷检测的准确度以及搜索效率。

(二)技术方案

为解决上述技术问题,本发明提供一种基于序列模式匹配的API误用缺陷检测系统,所述系统包括:API误用模式分析模块、API调用序列抽取模块、关联判定模块;

所述API误用模式分析模块用于针对API误用缺陷数据库中历史已知的API误用缺陷,抽取其缺陷代码和补丁代码,分析API误用缺陷的API误用模式;

所述API调用序列抽取模块用于针对程序代码库中的目标被测代码,面向程序多路径进行分析,抽取API调用序列;

所述关联判定模块用于通过序列模式匹配方法,判定所抽取的目标被测代码中的API调用序列与所分析确定的历史已知API误用缺陷的API误用模式之间是否存在关联,并报告相似缺陷。

其中,所述API误用模式分析模块分析API误用缺陷的API误用模式的过程,具体如下:

若历史已知API误用缺陷为多余调用类型缺陷,则针对多余调用类型缺陷进行API误用模式分析,设定其API误用模式为p,判定目标被测代码T是否符合p;

具体判定过程为只需要判定目标被测代码T中是否存在一个API调用序列s同时满足以下两个条件:

1)s调用了p的关键方法;

2)p的错误调用序列是s的非连续子序列;

当条件成立时,可以认为目标被测代码T中存在与p相似的API误用缺陷。

其中,所述API误用模式分析模块分析API误用缺陷的API误用模式的过程,具体如下:

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

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

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

×

专利文献下载

说明:

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

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

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

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

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

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

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

钻瓜专利网在线咨询

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

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