Looking for static analysis tool to generate call graphs
Robert Watson
rwatson at FreeBSD.org
Wed Mar 3 10:29:45 PST 2004
On Wed, 3 Mar 2004, Dag-Erling Smørgrav wrote:
> Robert Watson <rwatson at FreeBSD.org> writes:
> > Well, using a scary combination of grep, awk, a long list of "omit this"
> > regexp's, and prcc from cflow, I got the following:
> >
> > http://www.watson.org/~robert/freebsd/20040302-sockets.ps
> >
> > Duck and cover.
>
> Hmm, is there any way you can try to group functions with similar names
> together? For instance, functions whose names match /^fd.*/ call mostly
> eachother, and the graph would be a lot cleaner if they were placed
> close together.
In the most recent revision, I've tried to assign the same rank and color
to certain classes of functions:
System Calls (accept, bind, close, connect, dup, ...)
Protocol Switch (pru_accept, pru_attach, pru_bind, pr_ctloutput, ...)
File Descriptor Switch (fo_read, fo_write, fo_poll, ...)
Socket File Descriptor Functions (soo_read, soo_write, ...)
In addition, I assigned the same color to certain classes of functions:
Almost System Calls (kern_bind, kern_connect, accept1, ...)
Protocol Upcalls to Socket Layer (soisdisconnected, soisdisconnected, ...)
I'm going to experiment with grouping later today.
Robert N M Watson FreeBSD Core Team, TrustedBSD Projects
robert at fledge.watson.org Senior Research Scientist, McAfee Research
More information about the freebsd-hackers
mailing list