DAG—a program that draws directed graphs
Software—Practice & Experience
The C Information Abstraction System
IEEE Transactions on Software Engineering
Towards a method of programming with assertions
ICSE '92 Proceedings of the 14th international conference on Software engineering
Program visualization: the art of mapping programs to pictures
ICSE '92 Proceedings of the 14th international conference on Software engineering
TestTube: a system for selective regression testing
ICSE '94 Proceedings of the 16th international conference on Software engineering
The entity-relationship model—toward a unified view of data
ACM Transactions on Database Systems (TODS) - Special issue: papers from the international conference on very large data bases: September 22–24, 1975, Framingham, MA
The New KornShell Command and Programming Language
The New KornShell Command and Programming Language
A Technique for Drawing Directed Graphs
IEEE Transactions on Software Engineering
A GREMLIN Tutorial for the SUN Workstation
A GREMLIN Tutorial for the SUN Workstation
Hi-index | 0.00 |
Dagger is a tool that generates program graphs to selectively visualize a software structure. The design of dagger achieves a strong degree of language independence by exploiting the duality between a class of entity-relationship databases and attributed directed graphs. This paper describes the C and C++ versions of dagger, which map a selected subset of relationships stored in a program database to a graph specification, decorate the graph with display attributes, and then pass it to layout tools or interactive graph browsers. Dagger takes output from database queries to generate a large variety of interesting program graphs, including header file hierarchy, module binding, and type inheritance graphs. This paper describes the graph generation process surrounding dagger and a sample of tools involved in the process. In particular, we describe how a closure operator works in tandem with dagger to control graph complexity by generating reachability graphs where sub-structures are selectively ignored or expanded. Our experience in applying dagger to several software projects has demonstrated its capability in abstracting and visualizing complex software structures without much overhead. All program graphs presented in this paper are tagged with timing statistics.