[Soot-list] soot class path issue

Marc-André Laverdière marc-andre.laverdiere-papineau at polymtl.ca
Tue Aug 5 10:13:46 EDT 2014


Hello Ashish,

Please reply to list in the future :)

IIRC, that specific class is in a separate jar, not in rt.jar.

That doesn't solve the issue you are having though. I double-checked the
code (last time I pulled was yesterday). Scene.getSootClassPath does
some concatenation magic. Have you tried comparing the values of
getSootClassPath vs the variable?

BTW, this looks like a major break of encapsulation to me. Do you feel
like changing it and making a pull request? :)

Marc-André Laverdière-Papineau
Doctorant - PhD Candidate

On 08/05/2014 09:51 AM, ASHISH MISHRA wrote:
> Hi Marc,
> Thanks for the reply,
> 
> yeah my mistake i printed it before call to Main.main() , but the
> problem persists as even after the call to options.v().parse(arg) , the
> Scene.sootclasspath points to the same value
> "/usr/share/jdk1.7.0_01/jre/lib/rt.jar/" . So basically soot class path
> is not set and i get following Excpetion- 
> 
> Exception in thread "main" soot.SootResolver$SootClassNotFoundException:
> couldn't find class: javax.crypto.spec.DESKeySpec (is your
> soot-class-path set properly?)
> at soot.SootResolver.bringToHierarchy(SootResolver.java:219)
> at soot.SootResolver.bringToSignatures(SootResolver.java:255)
> at soot.SootResolver.bringToBodies(SootResolver.java:291)
> at soot.SootResolver.processResolveWorklist(SootResolver.java:164)
> at soot.SootResolver.resolveClass(SootResolver.java:129)
> at soot.Scene.tryLoadClass(Scene.java:639)
> at soot.Scene.loadBasicClasses(Scene.java:1210)
> at soot.Scene.loadNecessaryClasses(Scene.java:1289)
> at soot.Main.run(Main.java:173)
> at soot.Main.main(Main.java:146)
> at dynamicup.DU.main(DU.java:205)
> 
> It sounds and feels weird but i have been using this build and was
> successfully analyzing information flow since past one day :) and an
> eclipse restart started giving this issue .
> 
> Thanks
> Ashish
> 
> 
> On Tue, Aug 5, 2014 at 6:54 PM, Marc-André Laverdière
> <marc-andre.laverdiere-papineau at polymtl.ca
> <mailto:marc-andre.laverdiere-papineau at polymtl.ca>> wrote:
> 
>     Hi Ashish,
> 
>     I would run this getSootClassPath call in a transformer. As it is, you
>     are calling it before the options get processed in the Main.main()
>     call...
> 
>     Marc-André Laverdière-Papineau
>     Doctorant - PhD Candidate
> 
>     On 08/05/2014 09:11 AM, ASHISH MISHRA wrote:
>     > Hi,
>     > I recently built the soot-trunk from the git and included it in my
>     > project as i needed icfg related classes . I changed the sootclasses
>     > variable of my eclipse to the soot-trunk.jar.
>     >
>     > I am setting my soot args as follows
>     >
>     > soot_args = new String[]{
>     > "-w",
>     > "-p",
>     > "jb",
>     > "use-original-names:true",
>     > "-keep-line-number",
>     > "-print-tags",
>     > "-pp",
>     > "-soot-class-path",
>     > args[0],
>     > "-main-class",
>     > args[1],
>     > "-app",
>     > args[1],
>     > "-x",
>     > "org.apache.",
>     >    "-f",
>     > //"jimple",
>     >    "jimple",
>     >    //"-xml-attributes",
>     > //"-print-tags",
>     > //"-annot-nullpointer"
>     > //"-p"
>     > };
>     >
>     > --
>     > ...
>     >
>     >  PackManager.v().getPack("wjtp").add(tf);
>     >  System.out.println("Soot class path " +
>     Scene.v().getSootClassPath());
>     >   soot.Main.main(soot_args);
>     >
>     >
>     > but no matter whatever args i pass to the soot for the class path
>     , the
>     > soot class path is never set and it points to the default value
>     >
>     >
>     > The above statement always gives me -
>     > /Soot class path /usr/share/jdk1.7.0_01/jre/lib/rt.jar/
>     > /
>     > /
>     >  Anybody faced this problem or has any idea what might be the reason.
>     > Surprisingly I was able to run the analysis earlier with the updated
>     > soot-trunk . Then i restarted eclipse and this problem.
>     >
>     >
>     > With older version of the Soot i can still run my other analysis.
>     >
>     > Thanks
>     > Ashish
>     > /
>     > /Regards,
>     > Ashish Mishra
>     > Graduate Student,
>     > Computer Science and Automation Department,IISc
>     > Cell : +91-9611194714
>     > Mailto : ashishmishra at csa.iisc.ernet.in
>     <mailto:ashishmishra at csa.iisc.ernet.in>
>     > <mailto:ashishmishra at csa.iisc.ernet.in
>     <mailto:ashishmishra at csa.iisc.ernet.in>>
>     >
>     >
>     >
>     > _______________________________________________
>     > Soot-list mailing list
>     > Soot-list at CS.McGill.CA <mailto:Soot-list at CS.McGill.CA>
>     > https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
>     >
>     _______________________________________________
>     Soot-list mailing list
>     Soot-list at CS.McGill.CA <mailto:Soot-list at CS.McGill.CA>
>     https://mailman.CS.McGill.CA/mailman/listinfo/soot-list
> 
> 
> 
> 
> -- 
> Regards,
> Ashish Mishra
> Graduate Student,
> Computer Science and Automation Department,IISc
> Cell : +91-9611194714
> Mailto : ashishmishra at csa.iisc.ernet.in
> <mailto:ashishmishra at csa.iisc.ernet.in>
> 


More information about the Soot-list mailing list