JPF was developed at the NASA Ames Research Center and open sourced in 2005.
The acronym JPF is not to be confused with the unrelated Java Plugin Framework project.
Its primary application has been Model checking of concurrent programs, to find defects such as data races and deadlocks.
With its respective extensions, JPF can also be used for a variety of other purposes, including JPF has no fixed notion of state space branches and can handle both data and scheduling choices.
A number of such projects are available from the main JPF server, including a symbolic execution mode, numeric analysis, race condition detection for relaxed memory models, user interface model checking and many more.