软件产品线集成测试的组合符号执行方法
在软件开发中,软件产品线(SPL)测试是确保系统质量的关键环节。本文将介绍一种新的软件产品线测试生成分析方法,它结合了组合符号执行,旨在降低测试成本并提高测试效率。
1. 研究背景
软件产品线是为特定领域设计的软件系统家族,具有一组管理的资产和明确的可变性模型。不同的产品线在配置时间上有所不同,有的在构建时由开发者配置,有的通过重新编译进行更改,还有的在运行时使用特定构造进行改变。
软件产品线的一个关键元素是特征(或可变性)模型,它是与一般可配置系统的区别之一。本文采用了Pohl等人开发的正交可变性模型(OVM)。在OVM中,变化点(VP)用三角形表示,变体(v)用矩形表示,变体直接对应于特征。依赖关系用实线(强制)或虚线(可选)表示,替代选择用带有最小和最大基数注释的弧线表示,若无注释则表示该变化点只能选择一个变体,模型各部分之间还允许存在排除或要求等额外约束。
2. 符号执行基础
2.1 符号执行原理
符号执行是一种路径敏感的程序分析技术,它将程序输出值计算为符号输入值和常量的表达式。例如,对于以下代码片段:
y = x;
if (y > 0) then y++;
return y;
符号执行会用符号值X表示变量x的初始值。分析可知有两条可能路径:当X > 0时返回X + 1;当!(X > 0)时返回X。该分析将代码片段的行为表示为对(X > 0, RETURN == X + 1)和(!(X > 0), RETURN == X),其中第一个元素是路径条件,第二个元素定义了
超级会员免费看
订阅专栏 解锁全文
8833

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



