LCT: A Parallel Distributed Testing Tool for Multithreaded Java Programs

Kari Kähkönen, Olli Saarikivi, Keijo Heljanko

Research output: Contribution to journalArticleScientificpeer-review

Abstract

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 interleavings 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 we describe the architecture behind the tool and how it allows distributing concolic testing with DPOR and sleep set algorithms. This allows different execution paths of a given program to be tested in parallel. We evaluate the architecture and distributed algorithms of the tool on several Java benchmark programs.
Original languageEnglish
JournalElectronic Notes in Theoretical Computer Science
Volume296
Pages (from-to)253-259
ISSN1571-0661
DOIs
Publication statusPublished - 2013
Externally publishedYes
MoE publication typeA1 Journal article-refereed

Fields of Science

  • Concolic testing
  • distributed testing
  • symbolic execution

Cite this