From: Ira Baxter on 15 Jun 2010 16:45 <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.
|
Pages: 1 Prev: Call for benchmarks: proposals by 30 June Next: Simple hack to get $600 to your home. |