tic analysis tools based on abstraction are sound but not complete. Several practical static analysis tools are heuristic in nature —they are neither sound nor complete, but have...
Software model checkers are typically language-specific, require substantial development efforts, and are hard to reuse for other languages. Adding partial order reduction (POR)...
Instruction-grain program monitoring tools, which check and analyze executing programs at the granularity of individual instructions, are invaluable for quickly detecting bugs and...
Shimin Chen, Michael Kozuch, Theodoros Strigkos, B...
In this paper we propose a communication-centric approach to specifying and checking how multithreaded programs use shared memory to perform inter-thread communication. Our approa...
Benjamin P. Wood, Adrian Sampson, Luis Ceze, Dan G...
We address the problem of testing and debugging concurrent, distributed Erlang applications. In concurrent programs, race conditions are a common class of bugs and are very hard t...
Koen Claessen, Michal Palka, Nicholas Smallbone, J...