From: Ira Baxter on
<nmm1(a)cam.ac.uk> wrote in message
news:h152nk$stu$1(a)smaug.linux.pwf.cam.ac.uk...
> In article
> <c29a003d-d24c-496a-b13f-d2703f212fdf(a)k2g2000yql.googlegroups.com>,
> Arjen Markus <arjen.markus(a)wldelft.nl> wrote:
>>
>>DOYGEN is capable of generating call graphs (for each routine:
>>which routines are called, by which routines is it called itself).
>>I am not quite sure what it can do with functions that are not
>>explicitly declared, but it seems to be a nice enough tool.
>
> As I said.
>
> What it CANNOT do is to "extract the code structure from undocumented
> source files." Whether it does anything sensible with procedures
> passed as arguments, I don't know,, but it assuredly cannot do
> anything useful with programs that use procedure variables in
> arbitrary ways. To achieve that, it would have to solve the halting
> problem.

Well, it probably *can* extract a subset of the true call graph,
as evidenced by code statements that clearly contain direct function calls.
This is pretty easy even with a "bad parser".

To get an upper bound on the call graph, you can do a conservative
analysis of function pointers, which gets you around the halting
problem with some obvious loss of precision. That's still a lot
better than *just* the direct function calls.

> My objection is to its hype, not its functionality.

Agreed.


--
Ira Baxter, CTO
www.semanticdesigns.com

>
> Regards,
> Nick Maclaren.