一种用于检测中断驱动型程序数据竞争的系统

    公开(公告)号:CN102063328A

    公开(公告)日:2011-05-18

    申请号:CN201010611695.9

    申请日:2010-12-17

    Abstract: 本发明公开了一种用于检测中断驱动型程序数据竞争的系统,该系统由前端处理器和数据竞争分析引擎组成;其中前端处理器包括:反汇编器、词法/语法分析器、控制流图构造器、函数调用关系图构造器;数据竞争分析引擎包括:中断优先级分析模块、中断状态分析模块、内存访问分析模块和竞争条件识别器。本发明采用静态检测方法,以源代码或汇编代码为输入,无需运行被测程序,能够在软件开发的早期阶段应用,自动化程度较高;对中断使能状态进行了迭代的过程间分析,其中,“迭代”能够最大限度地收集所有可能的中断切换情况,减少数据竞争检测的漏报;“过程间”考虑了函数调用以及中断进入对程序状态的影响,提高了检测的精确度和检测效率。

    一种用于检测中断驱动型程序数据竞争的系统

    公开(公告)号:CN102063328B

    公开(公告)日:2012-12-26

    申请号:CN201010611695.9

    申请日:2010-12-17

    Abstract: 本发明公开了一种用于检测中断驱动型程序数据竞争的系统,该系统由前端处理器和数据竞争分析引擎组成;其中前端处理器包括:反汇编器、词法/语法分析器、控制流图构造器、函数调用关系图构造器;数据竞争分析引擎包括:中断优先级分析模块、中断状态分析模块、内存访问分析模块和竞争条件识别器。本发明采用静态检测方法,以源代码或汇编代码为输入,无需运行被测程序,能够在软件开发的早期阶段应用,自动化程度较高;对中断使能状态进行了迭代的过程间分析,其中,“迭代”能够最大限度地收集所有可能的中断切换情况,减少数据竞争检测的漏报;“过程间”考虑了函数调用以及中断进入对程序状态的影响,提高了检测的精确度和检测效率。

    C语言嵌入式软件插桩及动态测试覆盖率信息提取方法

    公开(公告)号:CN102419731A

    公开(公告)日:2012-04-18

    申请号:CN201110412481.3

    申请日:2011-12-08

    Abstract: C语言嵌入式软件插桩及动态测试覆盖率信息提取方法,把C语言程序看做一个由各分支点组成的数组,每一个分支点对应数组中的一个元素,每个元素定义为两种状态,“1”表示执行过,“0”表示未执行过。然后将数组定义在专用存储区。随后在C语言程序各分支点处,增加向定义在专用存储区的分支点信息数组输出该分支点是否被执行信息的操作代码。执行增加操作代码以后的C语言程序,执行完毕后从专用存储区提取分支点信息数组,根据分支点信息数组中各元素的状态即可确定C语言程序中各分支点的执行情况,由此得到C语言程序的动态测试覆盖率。本发明方法具有代码膨胀率小,分支点信息所占存储空间小,覆盖率信息提取方便的特点。

    一种51汇编语言软件安全性编码规则自动检查方法

    公开(公告)号:CN102419730A

    公开(公告)日:2012-04-18

    申请号:CN201110412461.6

    申请日:2011-12-08

    Abstract: 一种51汇编语言软件安全性编码规则自动检查方法,首先确定针对51汇编语言的安全编码规则。然后将源代码按照统一格式重新排版,进行分离代码和注释、提取独立的单词助记符。随后在重新排版的源代码上增加子程序开始和结束标识,然后从得到的单词助记符中提取伪指令、指令、操作数、行号、标号并与51汇编语言语法规则进行匹配,识别出变量、相关指令、操作数、中断向量区、子程序、中断服务程序,由此提取各个子程序、中断服务程序的名称及起始行号和结束行号。最后根据提取结果以及结构分析结果,将制定的安全性编码规则作为标准,判断程序代码中是否存在错误并将判断结果输出。本方法具有分析准确率高、直接对应源程序、规则可扩展等特点。

Patent Agency Ranking