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