[LLVMdev] Google Summer of Code Idea

Richard Warburton richard.warburton at gmail.com
Sat Mar 8 03:23:32 PST 2008


> Regarding Whaley and Lam's BDD-based approach to context-sensitive
> analysis ...
<snip>

Thanks for posting this. In which case its probably a good idea, if I
don't go down this route to context sensitivity.

>  I was impressed by a completely different approach, described by Nystrom
>  et al in SAS'04 and Nystrom's PhD thesis, for doing context-sensitive
>  pointer analysis for C with a context-sensitive heap model. Like Whaley
>  and Lam, and unlike Lattner and Adve's Data Structure Analysis, their
>  technique is inclusion-based (i.e. a context-sensitive version of
>  Andersen's), but unlike Whaley and Lam it also uses a context-sensitive
>  heap model, and it's targeted at C. They managed to scale the analysis to
>  a couple hundred thousand lines of code. I actually have several ideas on
>  how to improve their analysis and make it more scalable, but I haven't had
>  time to implement them -- mainly because I haven't wanted to re-implement
>  their whole analysis in LLVM. I would definitely be interested in any
>  effort to do this, and I think it would have a lot of benefit. In fact, I
>  supervised another student who implemented a simplified version of this
>  analysis for a class project; while the code itself probably isn't
>  re-usable, the student made a number of good observations on the analysis
>  that I would be happy to share with anyone who is interested.

I'll have a read through Nystrom's approach.  Are there publically
availible implementations of this algorithm anywhere else?  If he is
already in this region in terms of scalability, then improvements
might make a context sensitive analysis actually practical.  Either
way if the claims of this paper hold true then it seems like a viable
option for implementation.  Would it be possible to get Ben
Hardekopf's suggested improvements and his student's ideas posted to
the list?  Regards,

  Richard



More information about the llvm-dev mailing list