-
公开(公告)号:CN103218296A
公开(公告)日:2013-07-24
申请号:CN201310141769.0
申请日:2013-04-22
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种充分检测空指针引用缺陷的方法,包括:基于抽象语法树识别出被测应用的全部可寻址表达式;根据控制流图对被测应用进行保守的区间运算与指针分析并根据区间运算与指针分析的结果,生成函数摘要;根据所述函数摘要以及抽象语法树识别出全部的指针引用以及被引用的指针,并对每个被引用的指针创建空指针引用缺陷状态机实例;基于控制流图运行空指针引用缺陷状态机实例,在控制流图的每个节点上,根据区间运算、指针分析的结果对每个缺陷状态机实例进行状态迁移,进行空指针引用检测。采用本发明,能有效解决空指针引用缺陷的漏报问题,实现空指针引用缺陷检测零漏报及低误报。
-
公开(公告)号:CN103207833A
公开(公告)日:2013-07-17
申请号:CN201310113328.X
申请日:2013-04-02
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种软件测试中循环代码的处理方法,先依据程序控制流图,查找被测代码的循环体,确定当前循环体的循环体前子路径,再确定当前循环体的所有单条子路径,组合所述单条子路径为组合子路径,所述循环体前子路径与所述组合子路径的集合路径为可达时,确定所述组合子路径为当前循环体的确定子路径,确定所述循环体前子路径与所述确定子路径的集合路径为可达时,生成测试用例,并依据所述测试用例,执行被测代码,捕获所述当前循环体的实际执行路径,重复上述步骤,直至处理完被测代码的所有循环体。同时本发明还公开了一种软件测试中循环代码的处理系统。本发明灵活性高、能够节省人力成本、避免路径爆炸。
-
公开(公告)号:CN102073589B
公开(公告)日:2013-07-03
申请号:CN201010622730.7
申请日:2010-12-29
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种基于代码静态分析的数据竞争检测方法及系统,该方法包括:读取待测软件,对待测软件源程序进行静态分析,生成待测软件的抽象语法树、控制流图、全局函数调用图;在此基础之上计算每个函数内部的别名信息、函数间出口别名信息、锁集合信息、函数内部访问可逃逸变量的访问链以及线程创建关系图;根据访问链计算每两个线程之间访问节点的初始化语句对集合;根据别名信息、锁集合信息、并发关系对该集合进行逐步删减得到最终可能发生数据竞争的语句对。本发明提供的检测方法与检测系统能对C/C++编写的多线程程序进行有效的数据竞争检测,具有测试精度高和自动化程度高的特点,适用于对两个线程或多个线程导致的数据竞争的检测。
-
公开(公告)号:CN102915271A
公开(公告)日:2013-02-06
申请号:CN201210426628.9
申请日:2012-10-31
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种基于控制流图的单元回归测试用例集合优化方法,包括:A、在被测单元修改前后的控制流图中找出被修改部分对应的修改点;B、筛选出执行路径经过修改点的测试用例,作为回归测试用例集合的一部分即选择测试用例集Tselected,运行集合中的所有测试用例;C、计算修改点的所有可达后继节点,选出步骤B运行过程中未被覆盖的节点子集N;D、若N为空,执行步骤F,否则执行步骤E;E、从N中取出一个节点作为覆盖目标生成测试用例,将其加入新增测试用例集合Tnew并运行完毕,更新N,删除在此次运行中已被覆盖的节点,返回步骤D;F、回归测试用例集合TR构造完毕。应用本发明,能够提高回归测试的效率,并保证回归测试的有效性与充分性。
-
-
公开(公告)号:CN108563561B
公开(公告)日:2020-06-23
申请号:CN201810215371.X
申请日:2018-03-15
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明提供一种程序隐性约束提取方法及系统,包括:对于待测程序中的任一函数,将任一路径上的入口节点作为当前节点;获取当前节点与任一函数对应的抽象语法树上对应的当前语法节点,若当前语法节点包含目标变量,获取目标变量类型,根据目标变量类型和作用于目标变量的运算符类型匹配隐性约束规则,提取目标变量的隐性约束;否则,将当前节点的下一个节点重新作为当前节点,重复上述步骤,直到任一路径的出口节点为当前节点。本发明提出一种程序隐性约束提取方法及系统,可以实现隐性约束的提取,可以在一定程度上减小目标变量的搜索空间,保证生成测试数据的正确性,进而确保后续测试数据顺利执行。
-
公开(公告)号:CN104035864B
公开(公告)日:2017-10-20
申请号:CN201310693444.3
申请日:2013-12-17
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种基于矛盾片段模式的路径生成方法,包括:A、从控制流图中选择本次路径生成的起点作为当前点,然后执行步骤B;B、选择后继点,然后执行步骤C;C、如果成功选到后继点,则执行步骤G;否则执行步骤D;D、查看是否还有前一个点,有则执行步骤E;否则执行步骤F;E、将前一个点设为当前点,然后执行步骤B;F、由于已经回退到起点,所以生成路径失败;G、查看后继点是否是路径的终点,是则成功生成路径;否则执行步骤H;H、将后一个点设置为当前点,然后执行步骤B。采用本发明方法,能够在路径生成过程中快速检测当前路径片段已经是不可达路径,从而大大提高判定不可达路径的效率。
-
公开(公告)号:CN104317708B
公开(公告)日:2017-06-13
申请号:CN201410562727.9
申请日:2014-10-21
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明涉及一种基于迭代的区间运算的软件测试用例自动生成方法及系统,包括:S1、读取待测程序中的预定路径,通过遍历所述待测程序的控制流图得到所述预定路径的各个变量的变量取值区间;S2、将所述变量取值区间通过迭代的区间运算遍历所述控制流图,得到各个所述变量的初始稳定变量取值区间;S3、对所述初始稳定变量取值区间中的无穷变量取值区间进行初始化处理,通过迭代的区间运算遍历所述控制流图,并将运算结果保存到所述初始稳定变量取值区间;S4、根据预设的机制对变量进行排序,并确定当前变量;S5、对所述当前变量的初始稳定变量取值区间进行回退运算、迭代的区间运算及回溯运算,生成测试用例;S6、对生成的所述测试用例进行验证。
-
公开(公告)号:CN103207833B
公开(公告)日:2016-04-06
申请号:CN201310113328.X
申请日:2013-04-02
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明公开了一种软件测试中循环代码的处理方法,先依据程序控制流图,查找被测代码的循环体,确定当前循环体的循环体前子路径,再确定当前循环体的所有单条子路径,组合所述单条子路径为组合子路径,所述循环体前子路径与所述组合子路径的集合路径为可达时,确定所述组合子路径为当前循环体的确定子路径,确定所述循环体前子路径与所述确定子路径的集合路径为可达时,生成测试用例,并依据所述测试用例,执行被测代码,捕获所述当前循环体的实际执行路径,重复上述步骤,直至处理完被测代码的所有循环体。同时本发明还公开了一种软件测试中循环代码的处理系统。本发明灵活性高、能够节省人力成本、避免路径爆炸。
-
公开(公告)号:CN102841846B
公开(公告)日:2015-08-19
申请号:CN201210309446.3
申请日:2012-08-27
Applicant: 北京邮电大学
IPC: G06F11/36
Abstract: 本发明提供了一种基于Hadoop的软件测试方法、装置和系统,所述方法包括:管理服务器接收用户终端发来的待测软件和测试请求,将收到的待测软件发给Hadoop分布式文件系统(HDFS),并根据收到的测试请求向一个或几个测试服务器发出测试指令;收到测试指令的测试服务器调用自身存储的相应的测试工具,以及从所述HDFS中获取相应的待测软件,控制调用的所述测试工具对获取的所述待测软件进行测试,并将测试结果发送给所述HDFS;管理服务器从所述HDFS获取测试结果,并将获取的测试结果发给用户终端。采用本发明能够使软件测试用户避免购买测试软件,节省测试成本。
-
-
-
-
-
-
-
-
-