import java.util.List;\r
import java.util.Map;\r
\r
+import demo.util.DemoUtil;\r
+import demo.util.MemoryInfo;\r
import soot.Body;\r
import soot.BodyTransformer;\r
import soot.Local;\r
import soot.Unit;\r
import soot.Value;\r
import soot.ValueBox;\r
+import soot.toolkits.graph.BriefUnitGraph;\r
import soot.toolkits.graph.ExceptionalUnitGraph;\r
import soot.toolkits.graph.UnitGraph;\r
import soot.toolkits.scalar.LiveLocals;\r
"-cp",\r
"bin" + File.pathSeparator + \r
"bin/demo/testdata" + File.pathSeparator + \r
- "C:\\Program Files\\Java\\jre1.8.0_71\\lib\\rt.jar" + File.pathSeparator +\r
- "C:\\Program Files\\Java\\jre1.8.0_71\\lib\\jce.jar",\r
+ DemoUtil.RT_PATH + File.pathSeparator +\r
+ DemoUtil.JCE_PATH,\r
"-whole-program",\r
"-main-class",\r
"demo.testdata.TestClass",//main-class\r
- "-app",\r
- "demo.testdata.TestClass",\r
- "demo.testdata.TestClass",//argument classes\r
+// "-app",\r
+// "demo.testdata.TestClass",\r
+// "demo.testdata.TestClass",//argument classes\r
"-p",\r
"cg.cha",\r
"apponly:true,verbose:true",\r
+ "demo.testdata.TestClass"\r
// "-keep-line-number"\r
});\r
-\r
+ \r
PackManager.v().getPack("jap").add(new Transform("jap.myTransform", new BodyTransformer() {\r
@Override\r
protected void internalTransform(Body body, String phase, Map options) {\r
- UnitGraph graph = new ExceptionalUnitGraph(body);\r
+// UnitGraph graph = new ExceptionalUnitGraph(body);\r
+ UnitGraph graph = new BriefUnitGraph(body);\r
LiveLocals live = new SimpleLiveLocals(graph);\r
LocalDefs defs = new SmartLocalDefs(graph, live);\r
\r
PhaseOptions.v().setPhaseOption("jap.npc", "on");\r
\r
args = argsList.toArray(new String[0]);\r
+ \r
+ long start = System.currentTimeMillis();\r
soot.Main.main(args);\r
+ long end = System.currentTimeMillis();\r
+ \r
+ System.out.println((end - start) + " [ms]");\r
+ System.out.println(MemoryInfo.getMemoryInfo());\r
}\r
\r
}\r