ConTesa: Directed test suite augmentation for concurrent software

Tingting Yu, Zunchen Huang, Chao Wang

Research output: Contribution to journalArticlepeer-review

4 Scopus citations

Abstract

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.

Original languageEnglish
Article number8423082
Pages (from-to)405-419
Number of pages15
JournalIEEE Transactions on Software Engineering
Volume46
Issue number4
DOIs
StatePublished - Apr 1 2020

Bibliographical note

Publisher Copyright:
© 1976-2012 IEEE.

Keywords

  • Regression testing
  • concurrent programming
  • dynamic analysis
  • symbolic execution

ASJC Scopus subject areas

  • Software

Fingerprint

Dive into the research topics of 'ConTesa: Directed test suite augmentation for concurrent software'. Together they form a unique fingerprint.

Cite this