Thanks Bill.

Is there a documentation for DataflowAPI or should I browse the source code?

-Milind

On Tue, Jun 4, 2013 at 1:09 PM, Bill Williams <[email protected]> wrote:

> On 06/03/2013 10:38 PM, Milind Chabbi wrote:
>
>> I am considering using Dyninst for a binary analysis (not rewriting).
>>   My particular use case involves answering questions such as:
>> 1. Is the memory address accessed by this instruction loop invariant or
>> not?
>> 2. Is the value read/written in this instruction loop invariant or not?
>> 3. May/Must given two memory accesses alias?
>>
>> Does Dyninst have facilities for such data flow analysis on x86_64
>> binaries?
>>
>>  Depends on how much effort you're willing to add to our existing tools
> and what quality of results you need; as you know, these are not
> necessarily simple data flow problems.
>
> Our slicer in dataflowAPI will help with all of these, but slicing in
> general is a tricky problem both with respect to how to bound the slice and
> how to handle stack/heap accesses. We make a best effort at tracking
> dependencies through stack slots and punt on the heap; that's a
> long-standing "would be nice if we have time" feature.
>
> General outline of approach:
>
> 1) Get effective address expression from InstructionAPI, slice on that
> expression within the loop, verify that all data dependencies are external
> (or on expressions that are themselves loop invariants).
> 2) As per 1 but for the other operand.
> 3) Tricky. In cases that can be broken into (base + index), you can use
> slicing to prove that index1 == index2 and base1 == base2; from our package
> of slicing + symbolic evaluation + instruction semantics you *could* do
> pretty much any analysis you wanted. Not going to be easy though.
>
>
>  -Milind
>>
>>
>> ______________________________**_________________
>> Dyninst-api mailing list
>> [email protected]
>> https://lists.cs.wisc.edu/**mailman/listinfo/dyninst-api<https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api>
>>
>>
>
> --
> --bw
>
> Bill Williams
> Paradyn Project
> [email protected]
> ______________________________**_________________
> Dyninst-api mailing list
> [email protected]
> https://lists.cs.wisc.edu/**mailman/listinfo/dyninst-api<https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api>
>
>
_______________________________________________
Dyninst-api mailing list
[email protected]
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

Reply via email to