[Soot-list] Phantoms Refs

Daniel Popescu dpopescu at usc.edu
Mon Feb 1 21:18:33 EST 2010


After inspecting the source code of Soot, I realized that I was using
the wrong method to set the phantom references. To enable phantom
references, the following option has to be set:
soot.options.Options.v().set_allow_phantom_refs(true);

After setting the right option, I was able to use phantom references
with Spark and Paddle.

Daniel


On Thu, Jan 28, 2010 at 1:25 PM, Daniel Popescu <dpopescu at usc.edu> wrote:
> Thanks Eric.
>
> I am also not able to use phantom refs with Spark.
>
> I am trying to use phantom refs in the points-to examples described in
> the notes "A Survivor's Guide to Java Program Analysis with Soot".
> http://www.brics.dk/SootGuide/sootsurvivorsguideexamples.tar.gz
>
> The main class of the points-to example is class PointsToAnalysis. I
> have tried to set the phantom refs in the static initializer of this
> class ( soot.options.Options.v().allow_phantom_refs();). Additionally,
> the soot class path is set to the current directory ("."). Running
> this modified example causes a runtime exception "couldn't find class:
> java.lang.Object". When I add the runtime classes to the soot class
> path, the program is running fine but is also analyzing many
> unnecessary classes.
>
> I am wondering how could I use phantom refs in this example.
>
> Thanks,
> Daniel
>
>
>
> On Wed, Jan 27, 2010 at 11:39 PM, Eric Bodden
> <bodden at st.informatik.tu-darmstadt.de> wrote:
>>> I was trying to use the latest nightly build of Paddle with phantom
>>> refs. However, Soot is throwing an exception that it couldn't find
>>> class: java.lang.Object. Do phantom refs work for Paddle or only for
>>> Spark?
>>
>> Oh, good point. I tested it with Spark but not with Paddle. So yes,
>> Paddle may indeed have issues with this option.
>>
>> Eric
>>
>


More information about the Soot-list mailing list