[Soot-list] Help using InfoFlow under FlowDroid

ASHISH MISHRA ashish123.mishragkp at gmail.com
Mon Aug 4 11:15:02 EDT 2014


Thanks Steven for the quick reply,

I passed my system path value concatenated with the path to  external jar
dependencies as the *libPath argument * to the *computeInfoflow()* , but i
supose its wrong way to do this as the soot class path doesn't seem to be
set and i am getting  warnings like


*Warning: java.lang.NoClassDefFoundError is a phantom class!*
*Warning: java.lang.StringBuffer is a phantom class!*
*Warning: java.lang.Boolean is a phantom class!*
*Warning: java.lang.Long is a phantom class!*
*Warning: java.lang.Integer is a phantom class!*
*Warning: java.lang.Short is a phantom class!*
*Warning: java.lang.Float is a phantom class!*
...
...
[main] INFO soot.jimple.infoflow.Infoflow - Basic class loading done.
[main] ERROR soot.jimple.infoflow.Infoflow - Only phantom classes loaded,
skipping analysis...


Is there an analogue to using "-pp" option of soot while running the
Infoflow , In general while using soot i append system class path to soot
class path so soot can see these files but in this case this doesn't seem
to be possible.

How can I resolve this issue.

Thanks
Ashish







On Mon, Aug 4, 2014 at 7:22 PM, Steven Arzt <Steven.Arzt at cased.de> wrote:

> Hi Ashish,
>
>
>
> These two parameters help FlowDroid distinguish between what you actaully
> want to analyze (put that into appPath) and what is needed to load it (put
> that into libPath). So if you want to analyze a Java program, your own
> sources which you actually want to analyze go into appPath. If you have any
> library dependencies, put those into libPath.
>
>
>
> Best regards,
>
>   Steven
>
>
>
> *Von:* soot-list-bounces at CS.McGill.CA [mailto:
> soot-list-bounces at CS.McGill.CA] *Im Auftrag von *ASHISH MISHRA
> *Gesendet:* Montag, 4. August 2014 15:25
> *An:* Soot List
> *Betreff:* [Soot-list] Help using InfoFlow under FlowDroid
>
>
>
> Hi ,
>
>
>
> I am trying to use the soot-Infoflow implementation to analyze information
> flow , given a method .
>
>
>
>  I have confusion about the parameters to pass to
>
>
>
> *computeInfoflow(*String *appPath*, String *libPath*, String entryPoint,
>
>                                    ISourceSinkManager sourcesSinks*)*
>
>
>
> *What should i pass to appPath (Is this the path to my class to be
> analyzed or some other class) *
>
> *What should i pass to libPath (I assume its the soot class path , is
> there a way i can use something like -pp option )*
>
>
>
> I browsed the source and could see how these parameters are used
>
>
>
> *Options.v().set_soot_classpath(appPath + File.pathSeparator + libPath); *
>
>
>
> But i can't see how the parameters passed  fit into this .
>
>
>
> If anyone faced a similar problem and suggest a solution(probably an
> example ) , it will be a great help.
>
>
>
> Regards
>
> Ashish
>
>
>
>
>
>
>
>
>
>
>
> Regards,
> Ashish Mishra
> Graduate Student,
> Computer Science and Automation Department,IISc
> Cell : +91-9611194714
> Mailto : ashishmishra at csa.iisc.ernet.in
>



-- 
Regards,
Ashish Mishra
Graduate Student,
Computer Science and Automation Department,IISc
Cell : +91-9611194714
Mailto : ashishmishra at csa.iisc.ernet.in
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.CS.McGill.CA/pipermail/soot-list/attachments/20140804/d3d8f516/attachment.html 


More information about the Soot-list mailing list