This JPF version is a major rewrite - roughly the same size like JPF3, but with about 2/3 of the system changed, and substantial new functionality. Here are the rough numbers:
| src | ext | env | test | doc | Σ | |
|---|---|---|---|---|---|---|
| files | 335 | 85 | 41 | 53 | 57 | 571 |
| loc | 39600 | 9528 | 4183 | 10141 | (3840) | 63452 |
| classes | 317 | 72 | 41 | 75 | - | 505 |
The majority of the changes are in the core (gov.nasa.jpf.jvm.*) and extension (gov.nasa.jpf.abstraction) packages. While the regression test suite has been extended, the increase of loc is mainly due to an added test for large methods.
| src | ext | env | test | doc | Σ | |
|---|---|---|---|---|---|---|
| files added | 47 | 51 | 9 | 16 | 3 | 126 |
| files deleted | 45 | 0 | 3 | 0 | 3 | 51 |
| files modified | 179 | 21 | 28 | 29 | 18 | 275 |
Here is a roadmap of what has and will be changed in JPF4. The majority of the implemented changes are related to the new execution engine. The focus of remaining changes in this version will be twofold: (a) the Eclipse plugin, and (b) state abstraction extensions.

JPF v4 changes
Major improvements from a users perspective include:
Here is a more detailed list of JPF4 changes from the developers point of view: