[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Will Java Library be converted into Jimple when running a Java program?



Normally, when Soot encounters a reference to a method in another class
(such as a method call), it reads in that class, but only looks at
the signatures of methods and fields, but not the bytecode of their
implementation. In particular, it does not convert their bytecode to
Jimple.

The -app command-line switch causes Soot to also read the bytecode,
convert to Jimple, and analyze any classes whose methods are referenced
from the classes being analyzed. However, by default, classes in
packages normally associated with the standard library (such as
java.lang, java.io, etc.) are ignored for this purpose. The -i, and -x
command-line switches allow you to specify which packages are considered
part of the library, and -include-all forces Soot to analyze classes
even if they are part of the standard library.

When Soot runs in whole-program mode (with the -w switch), it Jimplifies
all classes referenced by the classes being analyzed. However, only the
classes that would normally be analyzed based on the setting of the -app
switch will have the intra-procedural transformations applied to them.

Ondrej

On Thu, Feb 05, 2004 at 03:21:04PM +0800, #HUANG YUE# wrote:
> 
> Hi,
> 
> If a Java program have a library call? Will the whole library be converted into Jimple as well?
> 
> How does SOOT deal with such situation?
> 
> 
> Regards.
> Huang Yue
>