Re: [DynInst_API:] Dyninst control flow graphing


Date: Tue, 9 Jun 2015 11:05:15 -0700 (PDT)
From: Matthew LeGendre <legendre1@xxxxxxxx>
Subject: Re: [DynInst_API:] Dyninst control flow graphing

Compilers will often split-up or duplicate code from a single source line into multiple locations. A basic example might be a for loop like:

  for (int i = 0; i < 10; i++)

That's one source line, but the initialization, comparison, and increment instructions will be placed into different basic blocks. Beyond that, compiler optimizations like inlining, specialization, loop unrolling and many others might put one source line into multiple basic blocks.

-Matt


On Tue, 9 Jun 2015, Wayne Motycka wrote:
I've created a Dyninst-based tool that extracts the control flow graph
information and formats it for my own experiments in static analysis.  One
thing I've noticed however is that at times there appears to be more than
one block number associated with a particular source line (from the
BPatch_image object's getSourceLines() method) and I am at a loss to
explain why.  Anybody have any idea why this would be the case?

Thanks
Wayne Motycka
Univ. of Nebraska at Lincoln


_______________________________________________
Dyninst-api mailing list
Dyninst-api@xxxxxxxxxxx
https://lists.cs.wisc.edu/mailman/listinfo/dyninst-api

[← Prev in Thread] Current Thread [Next in Thread→]