-
公开(公告)号:CN102073589A
公开(公告)日:2011-05-25
申请号:CN201010622730.7
申请日:2010-12-29
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种基于代码静态分析的数据竞争检测方法及系统,该方法包括:读取待测软件,对待测软件源程序进行静态分析,生成待测软件的抽象语法树、控制流图、全局函数调用图;在此基础之上计算每个函数内部的别名信息、函数间出口别名信息、锁集合信息、函数内部访问可逃逸变量的访问链以及线程创建关系图;根据访问链计算每两个线程之间访问节点的初始化语句对集合;根据别名信息、锁集合信息、并发关系对该集合进行逐步删减得到最终可能发生数据竞争的语句对。本发明提供的检测方法与检测系统能对C/C++编写的多线程程序进行有效的数据竞争检测,具有测试精度高和自动化程度高的特点,适用于对两个线程或多个线程导致的数据竞争的检测。
-
公开(公告)号:CN101894064A
公开(公告)日:2010-11-24
申请号:CN200910084547.3
申请日:2009-05-21
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种应用跨函数分析的软件测试方法,解决软件静态测试中函数调用对区间精度的影响、对环境约束信息未充分利用以及由异常处理导致的控制流变更等问题。通过定义函数摘要信息及其前置信息、后置信息、约束信息和特征信息,对程序中不同类型的缺陷检测相应地规定了判定方法;而且在软件测试过程中通过收集函数摘要信息,并将其应用在控制流图的语句节点上和缺陷模式的判定过程中,在测试完成后输出被测程序中所有函数的摘要信息。通过实验证明,应用本发明方法的测试软件比现有测试软件的测试结果相比,具有更高的函数间分析准确度和更低的测试结果误报率和漏报率。
-
公开(公告)号:CN101271421A
公开(公告)日:2008-09-24
申请号:CN200710086933.7
申请日:2007-03-22
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 一种软件故障测试系统及方法,该系统包括软件读取模块、控制模块、故障检测模块和确认与统计模块;控制模块根据用户的输入信息向软件读取模块发出指令;软件读取模块读取待测软件并根据控制模块发出的指令将读取的软件程序传送至故障检测模块,故障检测模块对所述程序进行故障检测并将检测结果传送至确认与统计模块进行故障的确认和统计。本发明还同时公开了一种软件故障测试方法。由于本发明的软件测试方法与系统能够对特定的故障类型实施测试,所以能够准确地检测模型中定义的故障,准确地评价故障测试效果,并且能够测试出传统测试方法难以检测的故障。
-
公开(公告)号:CN101436128B
公开(公告)日:2012-10-31
申请号:CN200710177534.1
申请日:2007-11-16
Applicant: 北京邮电大学
Abstract: 本发明提供一种软件测试用例自动生成方法,该方法包括:A、读取待测软件,对待测软件源程序进行词法分析、语法分析及语义分析,生成待测软件的抽象语法树和控制流图;B、通过遍历所生成的抽象语法树,对待测软件源程序进行预处理:识别原始输入、输出变量并对原始输入变量的定义域进行空间压缩;C、通过遍历控制流图,生成当前待测软件程序元素的路径,对该路径中的变量进行赋值运算、蕴涵运算及回溯运算,生成测试用例。本发明还提供了一种软件测试用例自动生成系统。本发明的软件测试用例自动生成方法及系统能够准确地按照给定的待测软件程序元素自动生成测试用例,对生成的测试用例进行验证,提高了测试用例的准确性、效率及自动化程度。
-
公开(公告)号:CN102110051A
公开(公告)日:2011-06-29
申请号:CN201010624200.6
申请日:2010-12-31
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开一种应用程序切片技术的静态缺陷检测方法,包括:A、获取待检测缺陷模式的缺陷特征;B、根据所述的缺陷特征,计算所有分支节点的路径条件,并生成切片准则;C、按照所述的切片准则,遍历控制流图进行程序切片,对控制流图进行重构,得到已重构的控制流图;D、利用所述已重构的控制流图,应用缺陷状态迭代算法,进行缺陷模式状态机计算;E、若当前控制流图节点为非汇合节点,则将所有缺陷状态中的状态条件进行汇聚及更新操作;F、如果当前控制流图节点为汇合节点,则按照当前缺陷状态的状态条件进行状态合并。采用该方法能够在一定程度上提高缺陷检测的效率,并减少基于路径合并策略的路径敏感检测方法的误报。
-
公开(公告)号:CN102073587A
公开(公告)日:2011-05-25
申请号:CN201010622214.4
申请日:2010-12-27
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开一种程序中不可达路径的静态检测方法,该方法包括:A、对待测试程序的函数单元进行词法分析、语法分析及语义分析,生成函数的控制流图;B、通过所述待测试程序中变量值范围的函数间分析得到被调用函数单元的函数摘要;C、在控制流图的入口和出口节点之间选取一条路径p,如果路径中含有循环语句节点,则采用进入循环体0次或1次的策略;D、从所述路径p的入口节点开始,计算各语句节点处的上下文状态;如果存在某节点的上下文状态中有变量取值为空的情况,则表示所述路径p为不可达路径,否则,为可达路径。应用本发明的方法,能够提高程序静态分析和测试用例生成的效率,以提高软件测试效率。
-
公开(公告)号:CN101482847A
公开(公告)日:2009-07-15
申请号:CN200910003082.4
申请日:2009-01-19
Applicant: 北京邮电大学
Abstract: 本发明公开了一种基于安全漏洞缺陷模式的检测方法,包括:读取被测程序源代码文件进行预处理,解析安全漏洞模式对应的安全漏洞状态机描述文件;再对被测程序代码进行词法、语法分析,构造出被测程序的抽象语法树;根据抽象语法树构造控制流图,生成符号表;然后进行变量取值区间集的计算与更新,并根据符号表、对被测程序进行函数调用关系分析生成函数调用关系图,再建立ud/du链;通过建立安全漏洞模式状态机并调用ud/du链,对控制流图进行遍历,计算控制流图上每个节点安全漏洞状态机的状态变迁,若安全漏洞状态机进入缺陷状态,则报告对应的检查点,测试完毕后输出安全漏洞测试报表。本发明方法具有自动化程度高、测试精度高的优点。
-
公开(公告)号:CN101436128A
公开(公告)日:2009-05-20
申请号:CN200710177534.1
申请日:2007-11-16
Applicant: 北京邮电大学
Abstract: 本发明提供一种软件测试用例自动生成方法,该方法包括:A.读取待测软件,对待测软件源程序进行词法分析、语法分析及语义分析,生成待测软件的抽象语法树和控制流图;B.通过遍历所生成的抽象语法树,对待测软件源程序进行预处理:识别原始输入、输出变量并对原始输入变量的定义域进行空间压缩;C.通过遍历控制流图,生成当前待测软件程序元素的路径,对该路径中的变量进行赋值运算、蕴涵运算及回溯运算,生成测试用例。本发明还提供了一种软件测试用例自动生成系统。本发明的软件测试用例自动生成方法及系统能够准确地按照给定的待测软件程序元素自动生成测试用例,对生成的测试用例进行验证,提高了测试用例的准确性、效率及自动化程度。
-
公开(公告)号:CN101286133A
公开(公告)日:2008-10-15
申请号:CN200810114262.5
申请日:2008-06-02
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明涉及软件测试技术领域,本发明能够在一定程度上解决在程序静态测试中对不可达路径的无效计算以及对变量取值信息未充分利用的技术问题。本发明提出区间集的概念,定义了数值型变量区间集上的集合运算及四则运算,对程序中布尔类型变量及引用类型变量及表达式定义了区间计算方法,本发明所述方法在软件测试过程的前期收集了变量及表达式的取值范围信息,并将其应用在控制流图的语句节点上,实验证明,添加了区间运算的软件测试方法较之未添加区间信息的原方法而言,测试结果的误报率降低,测试的准确率更高。
-
公开(公告)号:CN101286132A
公开(公告)日:2008-10-15
申请号:CN200810114261.0
申请日:2008-06-02
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种基于软件缺陷模式的测试方法,包括:读取被测程序源代码文件及缺陷状态机SDSM描述文件,对被测程序进行预处理,解析SDSM描述文件;对被测程序进行词法分析和语法分析,构造出抽象语法树;根据抽象语法树,生成控制流图和符号表,并根据控制流图和符号表,进行变量取值区间集的计算与更新;对被测程序进行函数调用关系分析,生成函数调用关系图;根据函数调用关系图以函数为单位对控制流图进行遍历,并计算控制流图上每个节点缺陷状态机的状态变迁,缺陷状态机进入缺陷状态时报告对应的检查点。本发明还公开了一种基于软件缺陷模式的测试系统,包括:输入模块,缺陷模式统一测试框架,和用户界面模块,完成对被测程序的统一测试。
-
-
-
-
-
-
-
-
-