Scripts

From RCSWiki

Jump to: navigation, search

CallGraph

In our previous work to demonstrate a proof of concept of the RTR JVM, we forged the entire class files, mainly due to the restrictions in Forge at that time. Now, we intend to generate hardware features at the method level granularity. For this purpose, given a class file, we need to look at the call graph to see what methods are used in the class and what methods they call in turn. We use BCEL to generate the call graph for any given class file.

The BCEL code to generate such a call graph is available as a tar file here. An example application and some instructions on how to run the code are also provided. You will need to have BCEL installed and configured in your path for this.

Configure the path by copy pasting the line below in your .bashrc inorder to configure BCEL




export CLASSPATH=$CLASSPATH:/projects/rtrjvm/bcel/bcel-5.1/bcel-5.1.jar




Now on the command line type 'source .bashrc'



Forging the leaf methods

The next step is to identify the leaf methods (methods that do not call any other methods) in the class. Then identify the parents of these leaf methods and so on. Eventually, we will try to forge the leaf methods, and if they are forgeable, we will try to forge the parents of those leaf methods and so on, until we reach to a method that is unforgeable. This work is in progress and will be posted here soon.

Personal tools