Since the program is officially ending, everyone should know the state of the jpf-prism code at this end. In case there is anyone reading this blog that I don't email updates to, I'm going post some concluding remarks here, taken from an email I sent to my advisers/supervisors. 
All the code for the project is found at the BitBucket repository, https://bitbucket.
As for the final state of the code in terms of 
functionality, I think it went pretty well (though not everyone was 
finished, I'm afraid). The short of it is that we can check any Java 
program that uses probabilistic functions based on Java's Random() (or 
jpf-probabilistic's Choice()) method. By "check" I mean that PRISM will 
be invoked on the states of the system and compute the probability of 
reaching a state with that property being true. Further, in case 
verification takes too long, or to confirm results, jpf-prism can be 
used to run the Java code repeatedly without interference, to get an 
empirical measure of the probability of reaching such a state. Further, 
the code will optimize the states of the systems if possible: it will 
reduce chains of states that are connected with probability 1 to a 
single state, unless it cannot (e.g., a choice was made, or a property 
must be evaluated in one, but not all of the chain's states).
So I think the project was mostly a success: the 
basic goal of leveraging the ease of checking a Java program with JPF 
and the support of probabilistic programs of PRISM has been 
accomplished. 
 
I should note that I'm still planning to work on the project if possible! I will simply not be doing so under the banner of Google's Summer of Code program.
ReplyDelete