Variable strength combinatorial testing of concurrent programs

Variable strength combinatorial testing of concurrent programs
复制标题

DOI:
10.1007/s11704-016-5096-3
复制
发表时间:
2016-05
影响因子:
4.2
通讯作者:
Xiaofang Qi;Jun He;Peng Wang;Huayang Zhou
Xiaofang Qi;Jun He;Peng Wang;Huayang Zhou
中科院分区:
计算机科学3区
文献类型:
--
作者:
Xiaofang Qi;Jun He;Peng Wang;Huayang Zhou

文献摘要

被引文献

相似文献

可达性测试是测试并发程序的一种重要方法。它自动生成并运行同步序列,无需保存任何测试历史。现有的可达性测试可以分为穷举测试和t路测试。穷举测试在许多情况下是不切实际的,而t路测试在某些情况下可能会降低故障检测的能力。本文提出了一种变强度可达性测试策略,该策略采用可达性测试的动态框架,并采用变强度组合策略。不同的参数组具有不同的覆盖强度。可变强度测试不包括t-路组合,而是在并发程序中具有相互作用的参数的必要组合。它比t-路测试更合理,因为在并发系统中参数之间的一致交互并不经常存在。我们提出了一个实现变强度组合测试策略的合并算法,并在多个并发程序上进行了实验。实验结果表明,我们的可变强度的可达性测试达到了有效性和效率之间的一个很好的折衷。它可以保持与详尽可达性测试相同的故障检测能力,同时在大多数情况下大大减少同步序列的数量并减少执行时间。
Reachability testing is an important approach to testing concurrent programs. It generates and exercises synchronization sequences automatically and on-the-fly without saving any test history. Existing reachability testing can be classified into exhaustive and t-way testing. Exhaustive testing is impractical in many cases while t-way testing may decrease the capability of fault detection in some cases. In this paper, we present a variable strength reachability testing strategy, which adopts the dynamic framework of reachability testing and uses a variable strength combinatorial strategy. Different parameter groups are provided with different covering strength. Variable strength testing covers no t-way combinations but the necessary combinations of parameters having mutual interactions in a concurrent program. It is more reasonable than t-way testing because uniform interactions between parameters do not often exist in concurrent systems. We propose a merging algorithmthat implements the variable strength combinatorial testing strategy and conduct our experiment on several concurrent programs. The experimental results indicate that our variable strength reachability testing reaches a good tradeoff between the effectiveness and efficiency. It can keep the same capability of fault detection as exhaustive reachability testing while substantially reducing the number of synchronization sequences and decreasing the execution time in most cases.