Sean,

On 18 Oct 2010, at 18:00, Sean Callanan <[email protected]> wrote:

> Milen,
> 
> when you say "the range of values it can take," are you referring to adding a 
> kind of watchpoint that records range information, so that you can perform 
> integer range analysis etc?  Or are you referring to a query that operates on 
> all instances of a variable (say, a class member) existent at the current 
> time?  Given what KLEE does, I assume the former.

Yes, I was referring to the former. As an example, the programmer would turn on 
range tracking for a particular variable. Let's assume execution has gone down 
the path if(x < 5) and the debugger stopped at a breakpoint along that 
execution. The programmer can then ask what the possible values of x are and it 
will say [int_min, 5). 

I would assume that's relatively easy to do - is there anything in particular I 
should be aware of? 

> Right now, even before you start looking at the query infrastructure – or 
> even the watchpoints, really – LLDB really needs support for keeping 
> time-stamped metadata about variables and user interactions.  Because LLDB 
> uses editline, it gets some level of command-line history, but that's pretty 
> much it right now.  A proper metadata infrastructure could provide full 
> history for variable values and function executions, providing a foundation 
> for a variety of LLDB-based program analysis tools.

That sounds quite interesting. I'll be happy to implement the metadata 
infrastructure, time permitting. Another question - doing the range analysis 
does not depend on the aforementioned metadata subsystem, as far as I 
understand? 

> Adding this kind of metadata support to LLDB would be a sizable piece of 
> work, but it could allow you to bring over versions of some KLEE-based tests. 
>  What do you think?

Sounds appealing to me. As the project would need to make measurable progress, 
ideally it should be possible to do the range analysis / symbolic queries as a 
starting point and optionally go a lot further.

Milen
> 

_______________________________________________
lldb-dev mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/lldb-dev

Reply via email to