sponsors
usenix conference policies
You are here
CONCURRIT: Testing Concurrent Programs with Programmable State-Space Exploration
Jacob Burnim, Tayfun Elmas, George Necula, and Koushik Sen, University of California, Berkeley
Testing is the most widely-used methodology for software validation. However, due to the nondeterministic interleavings of threads, traditional testing for concurrent programs is not as effective as for sequential programs. To attack the nondeterminism problem, software model checking techniques have been used to systematically enumerate all possible thread schedules of a test program. But such systematic and exhaustive exploration is typically too time-consuming for many test programs. We believe that the programmer’s help to guide the model checker towards interesting executions is critical to circumvent this problem.
We propose a testing technique and a supporting tool called CONCURRIT, which provides a model checker that can be guided programmatically within test code. While writing a test, the programmer specifies a particular thread interleaving scenario in mind using an embedded domain-specific language (DSL), and CONCURRIT explores all and only the executions realizing the intended scenario. During the exploration, the programmer is also able to observe the execution (e.g., assert invariants) and constrain the future decisions of the model checker, all within the test code. We believe that providing the programmer the ability to observe and control the exploration of executions will lead to more effective and efficient testing for concurrent programs.
Open Access Media
USENIX is committed to Open Access to the research presented at our events. Papers and proceedings are freely available to everyone once the event begins. Any video, audio, and/or slides that are posted after the event are also free and open to everyone. Support USENIX and our commitment to Open Access.
author = {Jacob Burnim and Tayfun Elmas and George Necula and Koushik Sen},
title = {{CONCURRIT}: Testing Concurrent Programs with Programmable {State-Space} Exploration},
booktitle = {4th USENIX Workshop on Hot Topics in Parallelism (HotPar 12)},
year = {2012},
address = {Berkeley, CA},
url = {https://www.usenix.org/conference/hotpar12/workshop-program/presentation/burnim},
publisher = {USENIX Association},
month = jun
}
connect with us