|
From: <fra...@us...> - 2009-04-21 17:04:42
|
Revision: 1425
http://javapathfinder.svn.sourceforge.net/javapathfinder/?rev=1425&view=rev
Author: frankrimlinger
Date: 2009-04-21 17:04:29 +0000 (Tue, 21 Apr 2009)
Log Message:
-----------
Test of itsAWrap under symbolic vm^2 execution. Fixed some imported package bugs in my version of the bytecode package. There could be a few more of these bugs still outstanding. With this in place, vm^2 got as far as vm, to a NullPointerException in clear(), as expected. But simulated method invocation appears to be working, so now will proceed to clear out all the simulation functionality other than class loading and invocation. Of course, you will need to add logic for the next pc in the case of branch instructions, and this will get you into choices and backtracking. Not sure how this will play out yet. But goal is to get jpf to traverse the forward control flow as efficiently as possible. Once this happens, the can think about punching in functionality to build control flow graph.
Confirmed that vm^2 does not required a project level dependence on the target project in order to executed the target project code. All this is taken care of through properties, as expected. However, vm obviously DOES require this link, everything else being equal.
Thinking down the road, ideally, the user should just point to a class, then simulation kicks in and travels down all methods in the class to build up the total control flow diagram and the call diagram. Then call diagram can be analyzed with respect to the rulebase to determine plausible next candidates for specification, which can then be presented to the user in a chooser window. This should all happen fast enough for the user to not think anything has happened. This will eliminate a lot of annoying file navigation and start up latency in current mango version.
Modified Paths:
--------------
branches/mango/MangoJPF/.classpath
branches/mango/MangoJPF/javapathfinder-trunk-MIRROR/gov/nasa/jpf/JPF_MIRROR.java
branches/mango/MangoJPF/javapathfinder-trunk-MIRROR/mainArgFile
branches/mango/MangoJPF/javapathfinder-trunk-MIRROR/mango/symbc/bytecode/D2F.java
branches/mango/MangoJPF/javapathfinder-trunk-MIRROR/mango/symbc/bytecode/INVOKESPECIAL.java
branches/mango/MangoJPF/javapathfinder-trunk-MIRROR/mango/symbc/bytecode/INVOKESTATIC.java
branches/mango/MangoJPF/javapathfinder-trunk-MIRROR/mango/symbc/bytecode/INVOKEVIRTUAL.java
Added Paths:
-----------
branches/mango/MangoJPF/javapathfinder-trunk-MIRROR/mango/symbc/bytecode/BytecodeUtils.java
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|