[发明专利]基于单变量访问序模式的中断数据访问冲突检测方法及装置有效
申请号: | 201911329257.0 | 申请日: | 2019-12-20 |
公开(公告)号: | CN111159022B | 公开(公告)日: | 2023-05-02 |
发明(设计)人: | 陈睿;余娜;江云松;王峥;李超;贾春鹏;肖志恒;丁戈;李杨;吴瑾;杨帆 | 申请(专利权)人: | 北京轩宇信息技术有限公司 |
主分类号: | G06F11/36 | 分类号: | G06F11/36 |
代理公司: | 中国航天科技专利中心 11009 | 代理人: | 李明泽 |
地址: | 100190 北京市海淀区科学院*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 基于 变量 访问 模式 中断 数据 冲突 检测 方法 装置 | ||
本发明实施例提供了一种基于单变量访问序模式的中断数据访问冲突检测方法及装置。所述方法包括:获取多个源文件;对每个所述源文件的函数进行可达访问分析,生成每个所述源文件的可达访问图;使用所述多个源文件的函数调用关系和各所述源文件的函数摘要,更新各所述可达访问图;遍历各更新后的可达访问图,匹配单变量访问序模式,得到中断数据访问冲突检测结果。本发明实施例对单文件进行独立分析,避免了跨文件的分析时在不同文件交替分析,减小了内存占用的峰值,可适用于大规模程序。
技术领域
本发明涉及计算机软件测试与验证技术领域,特别是一种基于单变量访问序模式的中断数据访问冲突检测方法及装置。
背景技术
中断驱动的嵌入式软件已广泛应用于航天、医疗、IoT等领域,这些领域对安全性的要求高,软件失效或故障都可能产生灾难性后果。中断数据访问冲突是中断驱动的嵌入式程序的一种并发缺陷,它出现在主程序与中断,或者中断与中断之间对同一共享数据进行访问而导致非预期的异常行为时。这些异常行为可能导致关键数据被意外修改,严重时致软件失效,甚至出现灾难性后果。但中断数据访问冲突出现概率小,并且由于并发的不确定性往往难以复现,是航天、汽车、IoT等嵌入式软件中的关键可信问题之一。
对中断数据访问冲突的检测方法,已有一些研究工作。专利CN102063328A公开了一种用于检测中断驱动型程序数据竞争的系统,专利CN103778062A公开了一种基于抽象解释的多中断程序数据访问冲突检测方法,International Symposium on SoftwareTesting and Analysis(ISSTA2017)中Wang等人的“Automatic Detection andValidation of Race Conditions in Interrupt-Driven Embedded Software”提出一个结合检测和验证的框架,使用静态分析生成潜在的数据竞争,再使用虚拟仿真平台动态验证。以上几项工作都是以检测数据竞争作为目标,会产生大量误报。
软件学报(2016年第3期)中“基于变量访问序模式的中断数据竞争检测方法”指出,中断驱动型程序中的数据竞争大多数都是良性的,并提出了刻画中断数据访问冲突问题的7种缺陷模式。其中,单变量访问序模式是最重要的缺陷模式之一,指的是同一变量的3次连续并发访问中的4种访问序组合(RWW,WWR,RWR,WRW)会造成数据访问冲突。该文献针对单变量访问序模式,提出了基于抽象解释的静态检测方法,将3次访问序的路径匹配问题转换为一个可达访问集的迭代求解问题,并对每个函数的迭代求解结果进行摘要以避免迭代中的重复分析,可有效检测出违反单变量访问序模式的中断数据访问冲突。但该方法还存在以下问题:
1)当存在调用关系的函数分散在不同的源文件时,过程间分析时需要重复、频繁地在不同文件中交替分析,存在性能开销大的问题;
2)采用的函数摘要是一种可达访问的完整摘要,摘要信息冗余,内存有限时摘要命中率低,更新频繁;
3)在极端情况下,会将所有源代码都加载在内存中分析,遇到大规模程序时,峰值内存消耗大,分析性能降低明显。
发明内容
本发明解决的技术问题是:克服现有技术中的不足,提供了一种基于单变量访问序模式的中断数据访问冲突检测方法及装置。
本发明的技术解决方案是:
为了解决上述技术问题,本发明实施例提供了一种基于单变量访问序模式的中断数据访问冲突检测方法,包括:
获取多个源文件;
对每个所述源文件的函数进行可达访问分析,生成每个所述源文件的可达访问图;
使用所述多个源文件的函数调用关系和各所述源文件的函数摘要,更新各所述可达访问图;
遍历各更新后的可达访问图,匹配单变量访问序模式,得到中断数据访问冲突检测结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京轩宇信息技术有限公司,未经北京轩宇信息技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201911329257.0/2.html,转载请声明来源钻瓜专利网。