[net.news.map] viewing complex interrelations graphically

neal@druxv.UUCP (01/18/84)

Say you want to understand a really complicated program, and you have
the cross-reference information on it (who calls who) and a high-quality
graphics terminal.  How can you present that information in a useful
way?  This is most worthwhile, of course, when the amount of information
is very large (hundreds of routines, not very well modularized).

What theoretical and/or practical algorithms exist to lay out a graph
which can be displayed on the terminal?  I'd be interested in both
a nice "global" view of the structure, and a reasonable "local" display once
I had "zoomed in" on a particular node (a subroutine, in this example).
It would also be neat to try to single out just the "important" or "core" nodes
to get an overall perspective first.

I suspect that the "right" way of doing this would involve an N-P complete
algorithm.  All I want, though, is a good guess, and since I'm dealing
with "real" data, I suspect that some clever heuristics might provide
a good approximation in short order.

I'm not even sure what this branch of knowledge might be classified as.
Am I looking for "planar graph" algorithms?  Do VLSI people get into this
stuff?  If I were to search through journals, what journals/topics would I look for?

Many thanks for any info!  (surely I'll find at least a few PhD's working on
this....)

-Neal McBurnett, ihnp4!druxv!neal