软件故障定位与测试技术解析
在软件开发过程中,故障定位和软件测试是确保软件质量的关键环节。随着软件系统的日益复杂,传统的静态和动态分析方法已难以满足准确识别软件故障的需求。本文将介绍一种混合静态/动态分析的故障定位技术,以及基于预测回归模型的软件测试方法。
混合静态/动态分析的故障定位技术
Disqover是一种新的故障定位技术,它利用自动化测试用例生成工具生成大量测试用例,并通过自动重放失败的测试用例,提取其序列覆盖(即执行跟踪),以找出失败测试用例之间的共性。
依赖提取算法
从失败语句开始,获取其依赖关系。对于每个依赖项(链中的元素),仅当它是共同子序列的一部分时,算法才会对其进行递归处理。具体步骤如下:
1. 初始化输入:调用图、失败语句、输入序列(初始化为共同子序列)和输出序列(第一次调用时初始化为空)。
2. 执行依赖提取算法:
ALGORITHM 4 Dependency Extraction Algorithm
1: procedure GET_DEPENDENCIES(Stmt s, Call_Graph g, Sequence in, Sequence out)
2: out0 ¼ out [s
3: chain ¼ Get_DefUse_Chain(s)
4: for s02 chain do
5: if s0 2 in then
6: Get_Dependencies(s, g, in, out0)
7: end if
8: end for
超级会员免费看
订阅专栏 解锁全文
5万+

被折叠的 条评论
为什么被折叠?



