发明名称 |
一种程序中不可达路径的静态检测方法 |
摘要 |
本发明公开一种程序中不可达路径的静态检测方法,该方法包括:A、对待测试程序的函数单元进行词法分析、语法分析及语义分析,生成函数的控制流图;B、通过所述待测试程序中变量值范围的函数间分析得到被调用函数单元的函数摘要;C、在控制流图的入口和出口节点之间选取一条路径p,如果路径中含有循环语句节点,则采用进入循环体0次或1次的策略;D、从所述路径p的入口节点开始,计算各语句节点处的上下文状态;如果存在某节点的上下文状态中有变量取值为空的情况,则表示所述路径p为不可达路径,否则,为可达路径。应用本发明的方法,能够提高程序静态分析和测试用例生成的效率,以提高软件测试效率。 |
申请公布号 |
CN102073587A |
申请公布日期 |
2011.05.25 |
申请号 |
CN201010622214.4 |
申请日期 |
2010.12.27 |
申请人 |
北京邮电大学 |
发明人 |
王雅文;宫云战;肖庆;杨朝红;金大海;李青;王思岚 |
分类号 |
G06F11/36(2006.01)I |
主分类号 |
G06F11/36(2006.01)I |
代理机构 |
北京汇泽知识产权代理有限公司 11228 |
代理人 |
程殿军 |
主权项 |
一种程序中不可达路径的静态检测方法,其特征在于,该方法包括以下步骤:A、对待测试程序的函数单元进行词法分析、语法分析及语义分析,生成函数的控制流图;B、通过所述待测试程序中变量值范围的函数间分析得到被调用函数单元的函数摘要;C、在控制流图的入口和出口节点之间选取一条路径p,如果路径中含有循环语句节点,则采用进入循环体0次或1次的策略;D、从所述路径p的入口节点开始,计算各语句节点处的上下文状态;如果存在某节点的上下文状态中有变量取值为空的情况,则表示所述路径p为不可达路径,否则,为可达路径。 |
地址 |
100876 北京市海淀区西土城路10号 |