并发类的覆盖驱动测试代码生成( 五 )


5.2 RQ2 – 与 ConTeGen 对比我们将 AutoConTest 与 ConTeGen(一种用于并行生成并发测试代码的最新技术)进行了比较 。 ConTeGen 的所有运行均未在时间预算内检测到任何并发故障 。 我们进一步地比较 AutoConTest 和一种使用 AutoConTest 的相同交错探索组件来探索由 ConTeGen 生成的测试的交错空间的方法 。 (ConTeGen ?)平均而言 , AutoConTest 在不到 40 秒的时间内即可达到 ConTeGen *在 1 小时内实现的覆盖率的百分比 。 这表明 AutoConTest 的有效性主要来自于掩盖角落程序行为的能力 , 而这些行为很难通过随机生成更多的测试来掩盖 。 实际上 , 随机生成的测试会受到冗余的影响 。
5.3 RQ3 – 搜查修剪策略
并发类的覆盖驱动测试代码生成文章插图
表 2 搜查修剪策略评估
该研究问题的目的是评估呼叫序列生成组件 。 对于这组实验 , 我们隔离运行组件 , 即不探索生成的测试的交错空间 。 我们运行了该组件的两个版本 。 我们使用相同的初始饱和度停止标准(即饱和度 k = 3 , 请参见第 4.2 节)在一个小时的时间预算上对两个版本进行测试 。 我们还通过将它们与时间预算期满后禁用版本返回的最佳序列进行比较 , 来评估启用版本在第一次迭代中返回的序列是否最佳 。 对于仅两个主题 , 启用版本返回的序列次优 。
致谢【并发类的覆盖驱动测试代码生成】本文由南京大学软件学院 2020 级硕士王旭翻译转述