Java PathFinder 4.1 (subversion revision 947)

Java PathFinder is a system to verify executable Java bytecode programs. In its basic form, it is a Java Virtual Machine (JVM) that is used as an explicit state software model checker, systematically exploring all potential execution paths of a program to find violations of properties like deadlocks or unhandled exceptions. Unlike traditional debuggers, JPF reports the entire execution path that leads to a defect. JPF is especially well-suited to finding hard-to-test concurrency defects in multithreaded programs.

While software model checking in theory sounds like a safe and robust verification method, reality shows that it does not scale well. To make it practical, a model checker has to employ flexible heuristics and state abstractions. JPF is unique in terms of its configurability and extensibility, and hence is a good platform to explore new ways to improve scalability.

JPF is a pure Java application that can be run either as a standalone command line tool, or embedded into systems like development environments. It was mostly developed — and is still used — at the NASA Ames Research Center. Started in 1999 as a feasibility study for software model checking, JPF has found its way into academia and industry, and has even helped detect defects in real spacecraft.

SRPMS

javapathfinder-4.1.947-1.src.rpm

Patch Descriptions

javapathfinder-script.patch
Change paths in the scripts to match a Fedora layout.
javapathfinder-jar.patch
Use system jars instead of those in the source tree, where possible..
javapathfinder-1620214.patch
Patch 1620214 from sourceforge.net: compare strings with equals, not ==.
javapathfinder-1620215.patch
Patch 1620215 from sourceforge.net: do not allocate memory for a boolean.
javapathfinder-1620216.patch
Patch 1620216 from sourceforge.net: use StringBuffer effectively. Actually, the original patch has been applied, as well as numerous other cases of the same thing. This patch now contains the last several instances that I can see.
javapathfinder-1620218.patch
Patch 1620218 from sourceforge.net: simplify a boolean expression
javapathfinder-1620219.patch
Patch 1620219 from sourceforge.net: use arraycopy instead of looping.
javapathfinder-1620220.patch
Patch 1620220 from sourceforge.net: fix another case of comparing strings with ==.
javapathfinder-1620221.patch
Patch 1620221 from sourceforge.net: don't compare a boolean with literal true.
javapathfinder-csrc.patch
Adapt to the latest CVC3 release, which changed a few names.
javapathfinder-javadoc.patch
Run javadoc on all of the sources.
javapathfinder-ia.patch
Change one name which is not found in the upstream IASolver release.

Back to the RPMS


Last modified: Tue Aug 5 13:19:54 MDT 2008 by Jerry James