[Soot-list] Concurrent Analysis help - MhpAnalysis

Richard L. Halpert richhal22 at gmail.com
Fri Jul 2 13:10:54 EDT 2010


You're already getting the most precise version that is available *and
working*.  The analysis described by Lin Li's master's thesis (and the paper
by her and Prof. Clark Verbrugge) is currently broken.  The code is there in
the soot.jimple.toolkits.thread.mhp package, but it makes some
no-longer-true assumptions about Spark's points-to analysis that cause it to
throw exceptions.

MhpTransformer.v().getMhpTester() actually runs the
SynchObliviousMhpAnalysis, which ignores synchronization, wait, and notify.
According to Lin Li's work, wait and notify generally do not have a big
impact on MHP, but synchronization does.

-Richard

On Fri, Jul 2, 2010 at 12:21 AM, Arnab De <arnabde03 at gmail.com> wrote:

> Hi Richard and Eric,
> Is there any way to get the more precise version of the mhp analysis?
> Currently we are getting the MhpTester by calling
> MhpTransformer.v().getMhpTester() without putting wjtp.mhp in the
> command line. Are we getting the most precise analysis available?
>
> Thanks and regards,
> Arnab
>
>
> On Thu, Jul 1, 2010 at 9:19 AM, Richard L. Halpert <richhal22 at gmail.com>
> wrote:
> > To answer question 1 from your original email: When you run MHP analysis
> as
> > a command-line option to Soot, it doesn't do *any* of the Parallel
> Execution
> > Graph stuff.  It actually runs the "SynchObliviousMhpAnalysis", which
> > ignores waits and notifys, computing MHP info based solely on start and
> join
> > statements.  It grabs those start statements and their targets from the
> call
> > graph, so if that's the only piece of MHP-related information that you
> need
> > then you should get it directly from the call graph like Eric suggested.
> >
> > -Richard
> >
> > On Tue, Jun 29, 2010 at 9:45 AM, Arnab De <arnabde03 at gmail.com> wrote:
> >>
> >> Most probably this is due to the context-insensitivity of spark. We
> >> haven't tried with paddle yet.
> >>
> >> On Tue, Jun 29, 2010 at 10:13 PM, Eric Bodden
> >> <bodden at st.informatik.tu-darmstadt.de> wrote:
> >> >> In the same analysis, if we use Runnable instead of extending Thread,
> >> >> the analysis returns all run methods for a start. Is there any way to
> >> >> make it more precise?
> >> >
> >> > Oh does it? I thought it would use points-to analysis to narrow down
> >> > the possible receivers. If that's not happening then I am not sure why
> >> > not. Normally points-to analysis ought to take care of this.
> >> >
> >> > Eric
> >> >
> >> _______________________________________________
> >> Soot-list mailing list
> >> Soot-list at sable.mcgill.ca
> >> http://mailman.cs.mcgill.ca/mailman/listinfo/soot-list
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.cs.mcgill.ca/pipermail/soot-list/attachments/20100702/27ff087c/attachment.html 


More information about the Soot-list mailing list