Contessa: Concurrency Testing Augmented with Symbolic Analysis

Testing of multi-threaded programs poses enormous challenges To improve the coverage of testing, we present a framework named Contessa that augments conventional testing (concrete execution) with symbolic analysis in a scalable and efficient manner to explore both thread interleaving and input data space It is built on partial-order reduction techniques that generate verification conditions with reduced size and search space It also provides a visual support for debugging the witness traces We show its significance in testbeds.