<html><head></head><body><div style="color:#000; background-color:#fff; font-family:bookman old style, new york, times, serif;font-size:13px"><div id="yui_3_16_0_ym19_1_1473883122552_2548">Hello all,</div><div id="yui_3_16_0_ym19_1_1473883122552_3051"><br></div><div dir="ltr" id="yui_3_16_0_ym19_1_1473883122552_3052">I am new to soot. My question might be very simple. I am using soot for static analysis for java classes. So lets say I have a java class here : Desktop/Javaclass/sample.java which I want to create the CFG.<br></div><div id="yui_3_16_0_ym19_1_1473883122552_3402" dir="ltr">I am using Soot Eclipse plugin and the following code. However the sample.java class is not loaded and classes.size() returns 0. How can I load the Sample.java class ??In other words how can I set the soot-class-path (to my sample.java path) in eclipse?<br id="yui_3_16_0_ym19_1_1473883122552_3403"></div><div id="yui_3_16_0_ym19_1_1473883122552_3173" dir="ltr"> (In my project "arguments" in project "run configuration" I am using: -process-dir Desktop/Javaclass/ which I think it should load all java classes in this directory to analyze?!?)</div><div id="yui_3_16_0_ym19_1_1473883122552_3012"><br></div><div id="yui_3_16_0_ym19_1_1473883122552_2989" dir="ltr">public static void main(String[] args) {<br id="yui_3_16_0_ym19_1_1473883122552_2809"> <br id="yui_3_16_0_ym19_1_1473883122552_2810"> Options.v().set_keep_line_number(true);<br id="yui_3_16_0_ym19_1_1473883122552_2811"><br id="yui_3_16_0_ym19_1_1473883122552_2812"> Options.v().set_whole_program(true);<br id="yui_3_16_0_ym19_1_1473883122552_2813"><br id="yui_3_16_0_ym19_1_1473883122552_2814"> Options.v().set_allow_phantom_refs(true);<br id="yui_3_16_0_ym19_1_1473883122552_2815"> <br id="yui_3_16_0_ym19_1_1473883122552_2816"> Options.v().set_src_prec(Options.src_prec_java);<br id="yui_3_16_0_ym19_1_1473883122552_2817"> <br id="yui_3_16_0_ym19_1_1473883122552_2818"> Options.v().set_output_format(Options.output_format_jimple);<br id="yui_3_16_0_ym19_1_1473883122552_2821"> <br id="yui_3_16_0_ym19_1_1473883122552_2822"> Options.v().setPhaseOption("cg.spark", "on");<br id="yui_3_16_0_ym19_1_1473883122552_2825"> <br id="yui_3_16_0_ym19_1_1473883122552_2826"> Scene.v().addBasicClass("java.io.PrintStream",SootClass.SIGNATURES);<br id="yui_3_16_0_ym19_1_1473883122552_2827"> Scene.v().addBasicClass("java.lang.System",SootClass.SIGNATURES);<br id="yui_3_16_0_ym19_1_1473883122552_2828"><br id="yui_3_16_0_ym19_1_1473883122552_2829"> Chain<SootClass> classes =Scene.v().getClasses();<br id="yui_3_16_0_ym19_1_1473883122552_2830"> System.out.println(classes.size()); //returns 0 because class is not loaded<br id="yui_3_16_0_ym19_1_1473883122552_2848"> <br id="yui_3_16_0_ym19_1_1473883122552_2917"> soot.Main.main(args); <br id="yui_3_16_0_ym19_1_1473883122552_2918"> <br id="yui_3_16_0_ym19_1_1473883122552_2919"> }</div><div id="yui_3_16_0_ym19_1_1473883122552_3542" dir="ltr"><br></div><div id="yui_3_16_0_ym19_1_1473883122552_3543" dir="ltr">Regards,</div><div id="yui_3_16_0_ym19_1_1473883122552_3695" dir="ltr">Hesam<br></div></div></body></html>