Discussions

News: NASA releases Java verification program as Opensource

  1. NASA has just released Java PathFinder, a Java Virtual Machine that uses states to check all the possible ways a Java program can be executed, finding possible errors (NPEs or deadlocks, for example) in your code.

    It then reports the entire execution path that leads to a defect. It's especially suited to find hard-to-test concurrency defects in multithreaded programs.

    Currently, the software is limited to check for thread locks and uncaught exceptions, but it can be extended to check for other things, like race conditions. However, there is no support currently for java.awt, java.net and some of java.io.

    The license is a custom license from NASA, NASA Open Source Agreement 1.3, but if the project was approved on Sourceforge it should follow the OSI conventions.

    Do you see yourself using projects like this on your code, or is concurrency not an issue for J2EE applications?
  2. Or do you think that concurrency issues are easy enough to detect and solve as things stand today?
    You're kidding, right?
  3. Sounded promising, so I tried it, but I got:

    Java Pathfinder Model Checker v3.1.2 - (C) 1999-2004 RIACS/NASA Ames Research CenterJPF exception, terminating: class java.lang.NullPointerException: null

    Hmm .. maybe I should use Java Pathfinder to find that NPE ;-)
  4. Sounded promising, so I tried it, but I got:

    Java Pathfinder Model Checker v3.1.2 - (C) 1999-2004 RIACS/NASA Ames Research CenterJPF exception, terminating: class java.lang.NullPointerException: null

    Hmm .. maybe I should use Java Pathfinder to find that NPE ;-)

    That exception means that you passed the parameters in metric terms; try passing them using the imperial system (feet instead of meters).

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Cluster your POJOs!
  5. That exception means that you passed the parameters in metric terms; try passing them using the imperial system (feet instead of meters).!

    Bwhahahahahahahahahahaha.
  6. that is really funny.
    i wonder where these guys have their physics education?
    Imperial College ?
  7. Double checked locking[ Go to top ]

    [quote]Currently, the software is limited to check for thread locks and uncaught exceptions, but it can be extended to check for other things, like race conditions
    [/quote]
    Hmm...
    I am not sure how it would impact singleton synchronize problem. Also re-ordering of variables during compile time.
    Very much I am interested to implement singleton pattern using Partfinder.
    However coming to NPE, it would be nice and appropriate to provide dynamic recovery during runtime. But during memory stack it would be rather more helpfull one.

    regards,
    Ranjan
    ranjan_baisak@mentor.com
  8. wonder why spaceshuttle keeps crashing. DOH!
  9. From the Java PathFinder site, on the "What Can Be Checked by JPF" page:
    Another restriction is given by JPF's state storage requirements, which effectively limits the size of checkable applications to ~10kloc (depending on their internal structure) if no application and property specific abstractions are used.

    The size restriction is pretty restrictive, and will prevent me from using this JVM very much. Too bad; the tool sounds useful otherwise.
  10. Limitations? Enhance it yourself...[ Go to top ]

    I'm sure the program size and other factors are limiting for various people, but now that NASA's open-sourced it, you can address those limitations yourself. Join the SourceForge project and start participating in discussions, sending in enhancements.

    This could turn out to be a great product / project, if we give it traction as NASA probably intended by open-sourcing it.
  11. Hammurapii is quite good[ Go to top ]

    I think I still stick with Hammurapi core review tool (http://www.hammurapi.org).

    It gives pretty good code review reports and it is extendable.

    See some examples of the review results:
    http://www.hammurapi.org/review/report.html
  12. FindBugs[ Go to top ]

    I think I'll stick with FindBugs for now, it finds all sorts of things.
  13. Is anyone here old enough to remember when being an Astronaut seemed like a cool job.
  14. Still a cool job[ Go to top ]

    I would have take a large cut in pay and move to Houston to work for NASA. It's still a kewl job.
  15. No cut in pay necessary[ Go to top ]

    Between missions to the bank you can buy a engineering start up and co-pilot with N-Sync. I see no problem with being a programmer and an astronaut. Of course, you would have to be in better shape than it takes to jockey from a reclining chair while smoking a stogie.
  16. Is anyone here old enough to remember when being an Astronaut seemed like a cool job.

    It is a cool job ;-)

    Peace,

    Cameron Purdy
    Tangosol, Inc.
    Coherence: Cluster your POJOs!