浮点计算测试数据生成与量化一阶逻辑规范测试数据生成研究
在软件开发中,测试数据的生成对于确保软件质量至关重要。本文将介绍两种不同的测试数据生成方法,一种是基于SBST技术的浮点计算动态符号执行(DSE)扩展,另一种是基于形式化软件验证技术的量化一阶逻辑规范的测试数据生成算法。
浮点计算的DSE扩展
经验研究
经验研究分为两部分:
- 基准函数 :包含一组常用于评估优化算法的基准函数,优化目标是找到每个函数的最小值(即0)。这些函数被表述为单个if语句,其then分支被声明为Pex的测试数据生成目标。100%的块覆盖率表示Pex目标已达成。具体的基准函数及其C#表示如下表所示:
| 函数 | C# 表示 |
| — | — |
| Beale | (1.5 - x1 * (1 - x2)) == 0 |
| Freudenstein And Roth | (-13 + x1 + ((5 - x2) * x2 - 2) * x2) + (-29 + x1 + ((x2 + 1) * x2 - 14) * x2) == 0 |
| Helical Valley Function | double theta(double x1,double x2) { if(x1 > 0) return Math.Atan(x2 / x1) / (2 * Math.PI); else if (x1 < 0) return (Math.Atan(x2 / x1) / (2 * Math.PI) + 0.5); else return 0; } (10 * (x3 - 10 * theta(x
超级会员免费看
订阅专栏 解锁全文
3484

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



