Java PathFinder

2,191 views
2,028 views

Published on

Java PathFinder slides

Published in: Technology, Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,191
On SlideShare
0
From Embeds
0
Number of Embeds
24
Actions
Shares
0
Downloads
71
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Java PathFinder

  1. 1. Java PathFinder NASA IV&V West Virginia University Introduction An Introduction to Java PathFinder Date June 24, 2008 Presented by: Aaron Higgins, Intern, NASA ATL at WVU [email_address]
  2. 2. Java PathFinder NASA IV&V West Virginia University Applied Technology Lab <ul><li>Established: 2007 </li></ul><ul><li>Partnership between West Virginia University (WVU) and NASA's Independent Verification and Validation (IV&V) facility. </li></ul><ul><li>Goal to research software engineering techniques that improve and enhance the way NASA produces safe and reliable system software. </li></ul><ul><li>Director: Dr. Tim Menzies </li></ul><ul><li>Website: atl.wvu.edu </li></ul>
  3. 3. Java PathFinder NASA IV&V West Virginia University Overview <ul><li>NASA A pplied T echnology L ab at WVU </li></ul><ul><ul><li>Software Verification </li></ul></ul><ul><ul><li>Introduction to J ava P ath F inder </li></ul></ul><ul><ul><ul><li>Background </li></ul></ul></ul><ul><ul><ul><li>Capabilities </li></ul></ul></ul><ul><ul><ul><li>Installation </li></ul></ul></ul><ul><ul><ul><li>Examples </li></ul></ul></ul><ul><ul><li>Comments </li></ul></ul><ul><ul><li>Summary </li></ul></ul><ul><ul><li>Questions </li></ul></ul>
  4. 4. Java PathFinder NASA IV&V West Virginia University Software Verification <ul><li>Time-consuming </li></ul><ul><ul><li>Hard to do </li></ul></ul><ul><ul><li>Can't fully verify software </li></ul></ul>
  5. 5. Java PathFinder NASA IV&V West Virginia University Motivation <ul><ul><li>Faster! </li></ul></ul><ul><ul><li>Easier! </li></ul></ul><ul><ul><li>Catch more errors! </li></ul></ul><ul><ul><li>The Solution? </li></ul></ul><ul><ul><ul><li>Java PathFinder! </li></ul></ul></ul>
  6. 6. Java PathFinder NASA IV&V West Virginia University Current Status <ul><ul><li>Development </li></ul></ul><ul><ul><ul><li>Robust Software Engineering group at NASA Ames Research Center </li></ul></ul></ul><ul><ul><ul><li>1999 – present </li></ul></ul></ul><ul><ul><ul><li>Open source </li></ul></ul></ul><ul><ul><li>Website </li></ul></ul><ul><ul><ul><li>http:// javapathfinder.sourceforge.net / </li></ul></ul></ul>
  7. 7. Java PathFinder NASA IV&V West Virginia University What can JPF do (1)‏ <ul><ul><li>“ JPF is a swiss army knife for all sort of runtime based verification purposes.” </li></ul></ul>
  8. 8. Java PathFinder NASA IV&V West Virginia University What can JPF do (2)‏ <ul><ul><li>Model Checking </li></ul></ul><ul><ul><li>Easily extensible </li></ul></ul><ul><ul><ul><li>Test Case Generation </li></ul></ul></ul><ul><ul><ul><li>Coverage Analysis </li></ul></ul></ul><ul><ul><ul><li>Numeric Analysis </li></ul></ul></ul><ul><ul><ul><li>UML State Machine Model Checking </li></ul></ul></ul><ul><ul><ul><li>Much more! </li></ul></ul></ul>
  9. 9. Java PathFinder NASA IV&V West Virginia University Model Checking (1)‏ <ul><ul><li>Use algorithms to check structure against logical formula </li></ul></ul>
  10. 10. Java PathFinder NASA IV&V West Virginia University Model Checking (2)‏ <ul><ul><li>Using JPF </li></ul></ul>
  11. 11. Java PathFinder NASA IV&V West Virginia University Limitations <ul><ul><li>Platform specific code </li></ul></ul><ul><ul><ul><li>Models </li></ul></ul></ul><ul><ul><li>java.awt </li></ul></ul><ul><ul><ul><li>User interfaces </li></ul></ul></ul><ul><ul><ul><li>Graphics/images </li></ul></ul></ul><ul><ul><li>java.net </li></ul></ul><ul><ul><ul><li>Networking applications </li></ul></ul></ul><ul><ul><li>Scalability </li></ul></ul>
  12. 12. Java PathFinder NASA IV&V West Virginia University Overcoming Scalability Limitations <ul><ul><li>Configurable Search Strategies </li></ul></ul><ul><ul><li>Reducing the number of states </li></ul></ul><ul><ul><ul><li>Heuristic Choice Generator </li></ul></ul></ul><ul><ul><ul><li>Partial Order Reduction </li></ul></ul></ul><ul><ul><ul><li>Host VM Reduction </li></ul></ul></ul><ul><ul><ul><li>State Abstraction </li></ul></ul></ul><ul><ul><li>Reducing State Storage </li></ul></ul>
  13. 13. Java PathFinder NASA IV&V West Virginia University Requirements <ul><ul><li>Hardware </li></ul></ul><ul><ul><ul><li>Hardware capable of compiling and running Java code </li></ul></ul></ul><ul><ul><li>Software </li></ul></ul><ul><ul><ul><li>J ava R untime E nvironment </li></ul></ul></ul><ul><ul><ul><li>B yte C ode E ngineering L ibrary </li></ul></ul></ul><ul><ul><ul><li>Ant </li></ul></ul></ul><ul><ul><ul><li>JUnit </li></ul></ul></ul>
  14. 14. Java PathFinder NASA IV&V West Virginia University Supported Operating Systems <ul><ul><li>Windows/Linux </li></ul></ul><ul><ul><ul><li>Command Line </li></ul></ul></ul><ul><ul><ul><ul><li>Ant </li></ul></ul></ul></ul><ul><ul><ul><ul><li>JUnit </li></ul></ul></ul></ul><ul><ul><ul><li>I ntegrated D evelopment E nvironments </li></ul></ul></ul><ul><ul><ul><ul><li>Eclipse </li></ul></ul></ul></ul>
  15. 15. Java PathFinder NASA IV&V West Virginia University Installation (1)‏ <ul><ul><li>Command Line </li></ul></ul><ul><ul><ul><li>svn co https://javapathfinder.svn.sourceforge.net/svnroot/javapathfinder javapathfinder </li></ul></ul></ul><ul><ul><ul><li>build-tools/bin/ant </li></ul></ul></ul><ul><ul><ul><li>java RunAnt </li></ul></ul></ul>
  16. 16. Java PathFinder NASA IV&V West Virginia University Installation (2)‏ <ul><ul><li>Eclipse </li></ul></ul><ul><ul><ul><li>Download and install Eclipse 3.2 </li></ul></ul></ul><ul><ul><ul><ul><li>www.eclipse.org </li></ul></ul></ul></ul><ul><ul><ul><li>Install the Subclipse plugin </li></ul></ul></ul><ul><ul><ul><ul><li>URL: http://subclipse.tigris.org/update_1.2.x </li></ul></ul></ul></ul><ul><ul><ul><li>Create a new repository </li></ul></ul></ul><ul><ul><ul><ul><li>https://javapathfinder.sourceforge.net/svnroot/javapathfinder </li></ul></ul></ul></ul>
  17. 17. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  18. 18. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  19. 19. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  20. 20. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  21. 21. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  22. 22. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  23. 23. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  24. 24. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  25. 25. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  26. 26. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  27. 27. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  28. 28. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  29. 29. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  30. 30. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  31. 31. Java PathFinder NASA IV&V West Virginia University Installation (2)‏
  32. 32. Java PathFinder NASA IV&V West Virginia University Installation (3)‏ <ul><ul><li>Eclipse </li></ul></ul><ul><ul><ul><ul><li>Checkout &quot;trunk&quot; </li></ul></ul></ul></ul><ul><ul><ul><ul><li>JPF will be downloaded and compiled in Eclipse </li></ul></ul></ul></ul>
  33. 33. Java PathFinder NASA IV&V West Virginia University Installation (3)‏
  34. 34. Java PathFinder NASA IV&V West Virginia University Installation (3)‏
  35. 35. Java PathFinder NASA IV&V West Virginia University Installation (3)‏
  36. 36. Java PathFinder NASA IV&V West Virginia University Installation (3)‏
  37. 37. Java PathFinder NASA IV&V West Virginia University Installation (3)‏
  38. 38. Java PathFinder NASA IV&V West Virginia University Remote Agent (1)‏ <ul><ul><li>Deep Space 1 </li></ul></ul><ul><ul><ul><ul><li>Monday, May 17, 1999 </li></ul></ul></ul></ul><ul><ul><ul><ul><li>test for the AI-based Remote Agent </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Remote Agent consisted of three parts </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Planner and Scheduler </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Smart Executive </li></ul></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Mode Identification and Recovery </li></ul></ul></ul></ul></ul><ul><ul><ul><li>A deadlock occurred within 24 hours </li></ul></ul></ul><ul><ul><ul><ul><li>300 hours of system level testing didn't uncover this error </li></ul></ul></ul></ul><ul><ul><ul><ul><li>conditions that caused the deadlock were not expected so they were not tested </li></ul></ul></ul></ul>
  39. 39. Java PathFinder NASA IV&V West Virginia University Remote Agent (2)‏ <ul><ul><li>Clean room experiment </li></ul></ul><ul><ul><ul><ul><li>NASA A utonomous S ciencecraft E xperiment (ASE) team </li></ul></ul></ul></ul><ul><ul><ul><ul><li>front-end group visually identified and extracted suspicious code </li></ul></ul></ul></ul><ul><ul><ul><ul><li>back-end group attempted to locate the error using model checking </li></ul></ul></ul></ul><ul><ul><ul><ul><li>error that occurred in flight found </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>Friday to Sunday </li></ul></ul></ul></ul></ul>
  40. 40. Java PathFinder NASA IV&V West Virginia University Contact Information <ul><li>Applied Technology Lab at West Virginia University </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><li>Dr. Tim Menzies, ATL administrator </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><li>Aaron Higgins, ATL intern </li></ul><ul><ul><li>[email_address] </li></ul></ul><ul><li>Eddie Jesinsky, ATL intern </li></ul><ul><ul><li>[email_address] </li></ul></ul>
  41. 41. Java PathFinder NASA IV&V West Virginia University Questions?

×