need help with tool requirement

Kevin D. Clark kdc at rcn.com
Tue Apr 20 23:13:00 EDT 2004


bmcculley at rcn.com writes:

> Requirement is to be able to take an executable image and
> determine every reference to specific data item(s) by
> simulating execution of every possible code path.  In other
> words, the equivalent of setting a debug watchpoint on a
> variable (or small set of variables, at most a handfull) and
> then forcing execution of both paths out of every conditional
> branch point.

I wrote a program that solved this in the general case.  This tool
also solved the halting problem (merely by specifying the
"--solve-halting-problem" switch).  Unfortunately, I implemented this
program in Perl and it was slightly too long to be a proper Perl
one-liner, so I threw it away in disgust.

...

Think about what you're asking for for a moment: "forcing execution of
both paths out of every coditional branch point".  Combined with what
you're asking for, this is a difficult thing to do (speculative
execution features aside).

You didn't mention what your environment was.  This would have been
slightly helpful.  Like, for example, if your program had been a Java
applet I might be inclined to write some more possibly helpful things,
but I've got to have a reason.

I'd suggest running your executable image through a code-coverage tool
(run the executable through a large and varied test suite -- you've
got this, right?).  Examine and understand the output of this.  Then,
run your executable image through a debugger with memory watchpoints
set (run it through the same large and varied test suite as before).
You should also run your executable through some memory checking tools
as well (again, through the same test suite).  

Unless you work for a goverment agency with a three-letter acronym,
this process ought to settle any doubts that you have about this
executable.

Hope this helps,

--kevin
--
Please note my new address.  kclark at CetaceanNetworks.com no longer
works, as Cetacean has halted operations.




More information about the gnhlug-discuss mailing list