TACO: test suite augmentation for concurrent programs

TACO: test suite augmentation for concurrent programs
复制标题

TACO:并发程序的测试套件增强

DOI:
--
复制
发表时间:
2015
期刊:
ESEC/SIGSOFT FSE
影响因子:
--
通讯作者:
Tingting Yu
Tingting Yu
中科院分区:
--
文献类型:
--
作者:
Tingting Yu

文献摘要

被引文献

相似文献

多核处理器的出现大大增加了并发程序的流行,以实现更高的性能。随着程序的发展,测试用例集扩充技术被用于回归测试,以确定哪里需要新的测试用例,然后生成它们。以前的工作测试套件增强集中在顺序软件,但到目前为止,没有工作考虑并发软件系统的回归测试是昂贵的,由于大量的可能的线程交织。在本文中,我们提出了TACO,一个自动测试套件增强框架的并发程序中,我们的目标不仅是产生新的输入,行使未发现的更改代码,但也探索新的线程交织引起的变化。我们的技术利用现有的测试输入重复使用随机调度的结果,连同预测调度策略和增量concolic测试算法,自动生成新的输入,驱动程序通过受影响的交错空间,使它可以有效地和高效地验证尚未行使现有的测试用例的变化。最后,我们讨论了我们的方法的几个主要挑战和机遇。
The advent of multicore processors has greatly increased the prevalence of concurrent programs to achieve higher performance. As programs evolve, test suite augmentation techniques are used in regression testing to identify where new test cases are needed and then generate them. Prior work on test suite augmentation has focused on sequential software, but to date, no work has considered concurrent software systems for which regression testing is expensive due to large number of possible thread interleavings. In this paper, we present TACO, an automated test suite augmentation framework for concurrent programs in which our goal is not only to generate new inputs to exercise uncovered changed code but also to explore new thread interleavings induced by the changes. Our technique utilizes results from reuse of existing test inputs following random schedules, together with a predicative scheduling strategy and an incremental concolic testing algorithm to automatically generate new inputs that drive program through affected interleaving space so that it can effectively and efficiently validate changes that have not been exercised by existing test cases. Toward the end, we discuss several main challenges and opportunities of our approach.