Loop unrolling: formal definition and application to testing

作者: Li Huang, Bertrand Meyer, Reto Weber

发布时间: 2025-02-25

来源: arxiv

研究方向: 软件测试与验证

主要内容

本文研究了循环展开在软件测试中的应用,通过数学模型和形式化方法对循环展开进行了定义和形式化分析,并设计了一种名为SCU的自动测试生成策略,将循环展开应用于测试生成中,以提高测试覆盖率。

主要贡献

1. 提出了循环展开的数学定义和形式化分析。

2. 设计了一种名为SCU的自动测试生成策略,将循环展开应用于测试生成中。

3. 通过实验验证了循环展开在测试生成中的应用效果,发现循环展开可以显著提高测试覆盖率。

4. 分析了循环展开对测试生成时间和测试执行时间的影响。

5. 提出了循环展开的适用性和局限性分析。

研究方法

1. 数学模型和形式化方法

2. 自动测试生成策略

3. 实验验证方法

实验结果

实验结果表明,循环展开可以显著提高测试覆盖率,并且对测试生成时间和测试执行时间的影响在可接受范围内。对于包含复杂条件语句或复杂数据依赖的循环,循环展开的效果更为显著。

未来工作

未来可以进一步研究循环展开的适用范围和最佳实践,并探索将循环展开与其他测试方法相结合,以提高测试效率和测试覆盖率。