Bandera: extracting finite-state models from Java source code
A Formal Study of Slicing for Multi-threaded Programs with JVM Concurrency Primitives