[Soot-list] escape analysis

Richard L. Halpert richard.halpert at mail.mcgill.ca
Sat Mar 14 03:11:54 EDT 2009


Oh, they're the same.  It's been renamed for the next version of Soot.
 My apologies for forgetting to mention that!

-Richard

On 3/13/09, Sangmin Park <sangminp at cc.gatech.edu> wrote:
> Thank you for the information, Richard. I have one quick question. Where
> is SynchObliviousMhpAnalysis class? In the soot 2.3 source,
> only UnsynchronizedMhpAnalysis is the subclass of MhpTester. Can I simply
> use UnsynchronizedMhpAnalysis? If there's big difference between the two,
> could you send me SynchObliviousMhpAnalysis class?
> Thanks,
> Sangmin
>
> On Tue, Mar 10, 2009 at 1:17 PM, Richard L. Halpert <
> richard.halpert at mail.mcgill.ca> wrote:
>
>> In soot.jimple.toolkits.thread there is a class called
>> ThreadLocalObjectsAnalysis.  This analysis takes an MhpTester as input
>> (which provides a list of thread classes), and uses the infoflow package
>> to
>> partition an abstract representation of the heap into "thread-local" and
>> "thread-shared" segments for each thread class.  It provides APIs to test
>> if
>> a local variable or object reference is thread-local.
>>
>> The analysis is described in detail in my thesis:
>> http://www.sable.mcgill.ca/publications/thesis/#richardsMastersThesis.
>> The analysis makes some unsafe assumptions about virtual method calls, so
>> technically, it's unsound.  For some programs, this analysis may be very
>> costly.
>>
>> Example:
>>
>> ThreadLocalObjectsAnalysis tlo = new ThreadLocalObjectsAnalysis(new
>> SynchObliviousMhpAnalysis());
>> tlo.precompute(); // optionally, do calculations up front instead of
>> on-the-fly
>> tlo.isObjectThreadLocal(myValue, myMethod); // myValue should be a Local
>> or
>> FieldRef from the jimple code of myMethod
>>
>> You will need to use Spark for points-to analysis.
>>
>> -Richard
>>
>>
>> On Mon, Mar 9, 2009 at 2:17 PM, Sangmin Park
>> <sangminp at cc.gatech.edu>wrote:
>>
>>> Thanks, Richard.
>>> Would you briefly explain what the package
>>> does? SmartMethodLocalObjectsAnalysis seems to be the entry class, but I
>>> do
>>> not know what exactly it does.
>>>
>>> By the way, I want to use thread escape analysis, not method escape
>>> analysis, but I guess it would be helpful to know method escape analysis.
>>> I
>>> appreciate your help again.
>>>
>>> Sangmin
>>>
>>>
>>> On Wed, Mar 4, 2009 at 4:32 PM, Richard L. Halpert <
>>> richard.halpert at mail.mcgill.ca> wrote:
>>>
>>>> the soot.jimple.toolkits.infoflow package can be used as an escape
>>>> analysis, but it has not yet been shoe-horned into the interface you
>>>> mentioned.  How do you need to use it?
>>>>
>>>> -Richard
>>>>
>>>> On Tue, Mar 3, 2009 at 4:14 PM, Sangmin Park
>>>> <sangminp at cc.gatech.edu>wrote:
>>>>
>>>>>  Hi All,
>>>>> Is there an implementation for escape analysis? I found the interface
>>>>> (soot.EscapeAnalysis), but couldn't find any implementation in soot
>>>>> library.
>>>>>
>>>>> Thanks,
>>>>> Sangmin
>>>>>
>>>>> _______________________________________________
>>>>> Soot-list mailing list
>>>>> Soot-list at sable.mcgill.ca
>>>>> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
>>>>>
>>>>>
>>>>
>>>
>>
>

-- 
Sent from my mobile device


More information about the Soot-list mailing list