The Dominance Tree in Visualizing Software Dependencies

Dominance analysis from graph theory allows one to locate subordinated software elements in a rooted dependency graph. It identifies the nesting structure for a dependency graph as a dominance tree, and, hence, adds information not immediately visible in large and complex graphs. Moreover, the subordination (or locality) can be leveraged for drawing dependency graphs. This paper envisions ways to leverage the dominance relation for structuring and presenting large dependency graphs. To explore the feasibility of these hinds of visualization, we measure dominance trees for large software systems written in different programming languages. These measurements give us the necessary information to design a usable visualization

[1]  Jean-Francois Girard,et al.  Finding components in a hierarchy of modules: a step towards architectural understanding , 1997, 1997 Proceedings International Conference on Software Maintenance.

[2]  Rainer Koschke,et al.  Journal of Software Maintenance and Evolution: Research and Practice Software Visualization in Software Maintenance, Reverse Engineering, and Re-engineering: a Research Survey , 2022 .

[3]  Ivan Herman,et al.  Graph Visualization and Navigation in Information Visualization: A Survey , 2000, IEEE Trans. Vis. Comput. Graph..

[4]  Giuseppe Visaggio,et al.  Software salvaging and the call dominance tree , 1995, J. Syst. Softw..

[5]  Malcolm Munro,et al.  Evaluating the use of dominance trees for C and COBOL , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[6]  Ken Kennedy,et al.  AS imple, Fast Dominance Algorithm , 1999 .

[7]  Timothy J. Harvey,et al.  AS imple, Fast Dominance Algorithm , 1999 .

[8]  Margaret-Anne Storey SHriMP Views: An Interactive Environment for Exploring Multiple Hierarchical Views of a Java Program , 2001 .

[9]  Hausi A. Müller,et al.  Rigi: a system for programming-in-the-large , 1988, Proceedings. [1989] 11th International Conference on Software Engineering.