OSDN Git Service

Added programs using WALA/Soot
[soba/JavaAnalysisToolsDemo.git] / JavaAnalysisToolsDemo / src / demo / soba / ClassHierarchyPerformance.java
index 31a0ff1..a9f79df 100644 (file)
@@ -1,5 +1,6 @@
 package demo.soba;\r
 \r
+import demo.util.MemoryInfo;\r
 import soba.core.ClassHierarchy;\r
 import soba.core.ClassInfo;\r
 import soba.core.JavaProgram;\r
@@ -10,24 +11,30 @@ import soba.util.files.ClasspathUtil;
 public class ClassHierarchyPerformance {\r
 \r
        public static void main(String[] args) {\r
+               long start = System.currentTimeMillis();\r
+               \r
                JavaProgram program = new JavaProgram(ClasspathUtil.getClassList(args));\r
                ClassHierarchy ch = program.getClassHierarchy();\r
                \r
                for (ClassInfo c: program.getClasses()) {\r
                        for (MethodInfo m: c.getMethods()) {\r
-                               System.out.println(m.toLongString());\r
                                for (CallSite cs: m.getCallSites()) {\r
                                        MethodInfo[] callees = ch.resolveCall(cs);\r
                                        if (callees.length > 0) {\r
                                                for (MethodInfo callee: callees) {\r
-                                                       System.out.println("  [inside] " + callee.toLongString());\r
+//                                                     System.out.println(m.toString() + " may call " + callee.toString());\r
                                                }\r
                                        } else {\r
-                                               System.out.println("  [outside] " + cs.toString());\r
+//                                             System.out.println(m.toString() + " may call " + cs.toString());\r
                                        }\r
                                }\r
                        }\r
                }\r
+               \r
+               long end = System.currentTimeMillis();\r
+               \r
+               System.out.println((end - start) + " [ms]");\r
+               System.out.println(MemoryInfo.getMemoryInfo());\r
        }\r
 \r
 }\r