John Whaley | 27 Sep 2007 22:24
Picon

Re: Using bddbddb

Hi Ciera,

On 9/26/07, Ciera Christopher <cchristo <at> cs.cmu.edu> wrote:
> John,
>
> I'm interested in using bddbddb for a static analysis that I'm working
> on. I've been prototyping using the interactive interpreter, and
> everything is working properly. I'd like to try implementing my
> analysis, but I have a few questions first:
>
> 1) I need to plug into the API directly rather than using the
> Interactive and DatalogParser classes. The analysis itself will be
> auto-generated depending upon some developer specifications, so I'd
> like to skip the step of writing this out to file just to have bddbddb
> read it back in again. Is there any documentation for how to do this?
> I saw two people ask about this on the developers list, but there were
> no responses.

The easiest thing to do would be to generate Datalog and send it to
the parser directly.  This will make it really easy to debug what is
going on.  Once you have solved the relations, you can query the
Relation objects directly from your application to get the results.
You can generate the rules programmatically if you want, but it may be
tedious and harder to debug.

> 2) The analysis depends on having an alias analysis and a constant
> analysis. Is there a constant analysis implemented? I presume I use
> these by calling a particular predicate specific to these analyses. Is
> there documentation on which analyses are available and how to access
> their results?
(Continue reading)

Ciera Christopher | 29 Sep 2007 01:00
Picon

Re: Using bddbddb

> Some analyses are in bddbddb_examples in the Subversion repository.
> By constant analysis, do you mean constant propagation and/or constant
> folding?  I'm not sure if there is an analysis.

Constant propagation. I may eventually use an integer range analysis,
but my examples haven't needed it yet.

> The Eclipse plug-in project was a summer project by an undergrad at
> Stanford.  He got it to a certain point but it is not complete yet.
> Also, the Eclipse API may have changed since then.  It may be a good
> starting point, however.  Using Eclipse is the most natural way of
> dealing with source code rather than bytecode.

Thanks, I'll check that out and see how far along it is. Is there any
documentation that describes how it should work (ie: what the form of
the predicates are) or the current design?

~Ciera

--

-- 
Ciera Nicole Christopher
Institute for Software Research
Carnegie Mellon University
www.cs.cmu.edu/~cchristo

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
(Continue reading)


Gmane