一种充分识别指针引用检测对象的方法

    公开(公告)号:CN103914382A

    公开(公告)日:2014-07-09

    申请号:CN201410115369.7

    申请日:2014-03-25

    Abstract: 本发明涉及一种充分识别指针引用检测对象的方法,包括:对被分析函数进行词法分析和语法分析,生成被分析函数的抽象语法树;从所述抽象语法树上识别所述被分析函数内的指针引用表达式,根据所述指针引用表达式识别出被引用指针,并将被引用指针添加到被引用指针集合中;从所述抽象语法树上识别所述被分析函数内的函数调用,根据被调用函数的函数摘要的空指针引用前置约束识别出在调用点处的被引用指针,并将被引用指针添加到被引用指针集合中;如果存在未判断是不是指针引用检测对象的指针,识别出被其引用的外部指针,并将所述外部指针添加到被调用函数的函数摘要的空指针引用前置约束中,进一步提高了空指针引用缺陷检测的精度。

    生成时序安全属性类缺陷模式相关的函数摘要信息的方法

    公开(公告)号:CN103914381A

    公开(公告)日:2014-07-09

    申请号:CN201410115283.4

    申请日:2014-03-25

    Abstract: 本发明涉及一种生成时序安全属性类缺陷模式相关的函数摘要信息的方法,包括:判定被测程序中时序安全属性类的缺陷模式,并生成时序安全属性类缺陷模式的描述文件;根据所述描述文件获取所述时序安全属性类缺陷模式的有限自动状态机;根据所述有限自动状态机为所述被测程序中的函数生成函数摘要信息。本发明根据描述时序安全属性类缺陷模式的有限自动状态机为被测程序中的函数生成函数摘要信息,通过所述函数摘要信息进行软件静态测试,从而提高软件静态缺陷的检测效率。

    故障自动注入与故障检测的方法及其系统

    公开(公告)号:CN103914379A

    公开(公告)日:2014-07-09

    申请号:CN201410114863.1

    申请日:2014-03-25

    Abstract: 本发明涉及一种故障自动注入与故障检测的方法及其系统,该方法包括:S1,对被测文件进行故障自动化注入,进行分析并生成多个故障文件;S2,对所述多个故障文件分别进行处理,生成多个可执行文件;S3,根据所述被测文件选择特定的用例库,将所述用例库中的用例逐一在所述每个可执行文件上运行,进行故障检测,并计算故障检测率。本发明使用源代码故障注入的方法,可以加速错误的发生,进而判断出软件中是否存在故障,并且检错能力强,尤其对于一些小概率错误具有较好的测试效果。

    移动应用中隐私信息泄露的静态检测方法

    公开(公告)号:CN103577324A

    公开(公告)日:2014-02-12

    申请号:CN201310524093.3

    申请日:2013-10-30

    Abstract: 本发明公开一种移动应用中隐私信息泄露的静态检测方法,包括:首先检查代码的完备性,如果代码不完备则对源代码进行准备工作,加载隐私泄露对应的状态机描述文件,得到相关的状态机信息,对源代码进行编译,得到类和函数等的详细信息,对源代码进行预分析,生成抽象语法树等基本数据结构,得到函数间的调用关系。再以函数为单位进行检测分析,根据状态机中关联的方法来为各个状态机创建状态机实例,在函数对应的控制流图上进行状态机实例迭代,当状态机实例进入错误状态时,报告错误,在检测完成后人工对检测到的错误进行检查,确认检测结果。应用本发明能够有效检测不同操作系统平台的应用程序中存在的隐私泄露代码,有效防止用户隐私信息泄露。

    一种程序中不可达路径的静态检测方法

    公开(公告)号:CN102073587B

    公开(公告)日:2013-07-03

    申请号:CN201010622214.4

    申请日:2010-12-27

    Abstract: 本发明公开一种程序中不可达路径的静态检测方法,该方法包括:A、对待测试程序的函数单元进行词法分析、语法分析及语义分析,生成函数的控制流图;B、通过所述待测试程序中变量值范围的函数间分析得到被调用函数单元的函数摘要;C、在控制流图的入口和出口节点之间选取一条路径p,如果路径中含有循环语句节点,则采用进入循环体0次或1次的策略;D、从所述路径p的入口节点开始,计算各语句节点处的上下文状态;如果存在某节点的上下文状态中有变量取值为空的情况,则表示所述路径p为不可达路径,否则,为可达路径。应用本发明的方法,能够提高程序静态分析和测试用例生成的效率,以提高软件测试效率。

    基于抽象内存模型的非数值型数据的计算方法

    公开(公告)号:CN102999426A

    公开(公告)日:2013-03-27

    申请号:CN201210506230.6

    申请日:2012-11-30

    Abstract: 本发明提供了一种基于抽象内存模型的非数值型数据的计算方法,包括:A、设计抽象内存模型用于模拟数值型变量和非数值型变量的内存结构,以及存储变量操作中包含的语义信息和约束关系;B、提取数值型变量和非数值类型变量的类型操作中包含的语义信息,并将语义信息映射到抽象内存模型中;C、提取数值型变量和非数值类型变量的类型操作中包含的变量间约束和变量内约束,并将约束关系映射到抽象内存模型;D、从抽象内存模型中提取变量的语义信息和约束关系,使用测试用例构建算法和第三方的约束求解器构建测试用例。采用本发明,可以克服现有技术无法精确支持非数值型变量程序语义的不足,实现包含非数值型的程序自动生成测试用例的目的。

    程序路径中确定函数调用的上下文环境影响的方法

    公开(公告)号:CN102708053A

    公开(公告)日:2012-10-03

    申请号:CN201210127864.0

    申请日:2012-04-27

    Abstract: 本发明公开了一种程序路径中确定函数调用的上下文环境影响的方法,该方法将返回值、被调用函数重定义的全局变量、指针或引用类型参数作为被调用函数的输出型变量,并采用路径敏感和上下文敏感的符号化区间运算技术,计算被调用函数在路径上各调用点输出型变量必需满足的上下文条件,最后根据该条件生成模拟替换函数,模拟替换函数根据各调用点的条件动态调整输出型变量的取值,保证程序按照目标路径执行。该方法可以用于自动化单元测试中面向路径的测试,包括面向全路径测试、面向子路径测试和面向目标测试等,实验证明,采用本发明所述方法,能够保证被测程序按照目标路径执行,并提高单元测试效率。

    一种复杂数据结构在代码静态测试中的处理方法和装置

    公开(公告)号:CN102662829A

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

    申请号:CN201210071743.9

    申请日:2012-03-16

    Abstract: 本发明公开了一种复杂数据结构在代码静态测试中的处理方法,在符号表中记录与复杂数据类型相关的基本数据类型信息;对控制流图的每个节点的复杂数据类型,根据与所述复杂数据类型相关的基本数据类型信息进行基本数据类型拆分,将基本数据类型拆分后得到的每个独立变量进行独立分析,更新相应的控制流图节点信息;输出更新后的控制流图;本发明同时还公开了一种复杂数据结构在代码静态测试中的处理装置,通过本发明的方案,能够解决静态测试中对复杂数据类型整体建模分析不完善所产生的漏报问题,在一定程度上提高静态测试的精度。

    一种基于代码静态分析的多线程死锁检测方法及系统

    公开(公告)号:CN102073588A

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

    申请号:CN201010622570.6

    申请日:2010-12-28

    Abstract: 本发明提供一种基于代码静态分析的多线程死锁检测方法及系统,该方法包括:对待测软件源程序进行词法、语法及语义分析,生成抽象语法树和控制流图;通过遍历抽象语法树,生成程序的指向分析图,对程序中的线程类进行分析,生成线程类并发特征集合;通过对控制流图的遍历,对程序进行可达分析,生成线程并发特征集并进行分析,生成占有请求特征集和锁图并进行分析,检测潜在的死锁,找到锁对象的门锁集合,删除不同线程锁对象存在相同门锁情况的死锁,更新潜在死锁集合;通过并发与逃逸分析,删除不可能的死锁情况,得到最终的死锁集合。应用本发明的方法及系统能够有效检测两个或多个线程产生死锁的情况,提高测试精度和自动化程度。

    应用异常控制流集的软件测试方法及系统

    公开(公告)号:CN101847122A

    公开(公告)日:2010-09-29

    申请号:CN201010188376.1

    申请日:2010-06-01

    Abstract: 本发明公开了一种应用异常控制流集的软件测试方法及系统。本发明所提供的软件测试方法及系统,是通过异常模式状态机描述运行时异常行为,可以支持对控制流的扩展和故障的自动检测;通过运行时异常控制流扩展传统异常控制流,将抛出运行时异常的边加入其中,以支持对新故障的检测;结合现有静态测试技术,通过迭代方程生成运行时异常控制流集,以实现控制流扩展和新故障检测的交替迭代执行。通过以上方法扩展传统分析路径,达到提高故障报告率的目的。

Patent Agency Ranking