LCT: A Parallel Distributed Testing Tool for Multithreaded Java Programs
LIME Concolic Tester (LCT) is an open source automated testing tool that allows testing both sequential and multithreaded Java programs. The tool uses concolic testing to handle input values and Dynamic Partial Order Reduction (DPOR) combined with sleep sets to avoid exploring unnecessary inter-leavings of threads. The LCT tool has been designed for distributed use where the SMT constraint solving and test execution can be distributed to multiple processes on a network of workstations. In this paper the authors describe the architecture behind the tool and how it allows distributing concolic testing with DPOR and sleep set algorithms.