当前位置: X-MOL 学术IEEE Trans. Softw. Eng. › 论文详情
Our official English website, www.x-mol.net, welcomes your feedback! (Note: you will need to create a separate account there.)
ConTesa: Directed Test Suite Augmentation for Concurrent Software
IEEE Transactions on Software Engineering ( IF 6.5 ) Pub Date : 2020-04-01 , DOI: 10.1109/tse.2018.2861392
Tingting Yu , Zunchen Huang , Chao Wang

As software evolves, test suite augmentation techniques may be used to identify which part of the program needs to be tested due to code changes and how to generate these new test cases for regression testing. However, existing techniques focus exclusively on sequential software, without considering concurrent software in which multiple threads may interleave with each other during the execution and thus lead to a combinatorial explosion. To fill the gap, we propose ConTesa, the first test suite augmentation tool for concurrent software. The goal is to generate new test cases capable of exercising both code changes and the thread interleavings affected by these code changes. At the center of ConTesa is a two-pronged approach. First, it judiciously reuses the current test inputs while amplifying their interleaving coverage using random thread schedules. Then, it leverages an incremental symbolic execution technique to generate more test inputs and interleavings, to cover the new concurrency-related program behaviors. We have implemented ConTesa and evaluated it on a set of real-world multithreaded Linux applications. Our results show that it can achieve a significantly high interleaving coverage and reveal more bugs than state-of-the-art testing techniques.

中文翻译:

ConTesa:并发软件的定向测试套件增强

随着软件的发展,测试套件增强技术可用于识别由于代码更改而需要测试程序的哪个部分以及如何生成这些新的测试用例以进行回归测试。然而,现有技术只关注顺序软件,没有考虑多个线程在执行过程中可能相互交错从而导致组合爆炸的并发软件。为了填补这一空白,我们提出了 ConTesa,这是第一个用于并发软件的测试套件增强工具。目标是生成能够执行代码更改和受这些代码更改影响的线程交错的新测试用例。ConTesa 的核心是两管齐下的方法。第一的,它明智地重用当前的测试输入,同时使用随机线程调度放大它们的交错覆盖。然后,它利用增量符号执行技术来生成更多的测试输入和交错,以涵盖新的与并发相关的程序行为。我们已经实现了 ConTesa 并在一组真实的多线程 Linux 应用程序上对其进行了评估。我们的结果表明,与最先进的测试技术相比,它可以实现非常高的交错覆盖率并揭示更多的错误。
更新日期:2020-04-01
down
wechat
bug