We present a method to extract and handle data and control dependences of programs, which we represent as simplified system dependence graphs. Ordinary dependence graphs contain, even for medium sized programs, too many nodes and edges for them to be easily comprehended. That is why we propose to decompose programs into a hierarchy of groups for which the corresponding dependence graphs are likely to be of manageable size. In order to realize this, we first implemented a tool that builds this hierarchy and stores it in a data base. Then a graphical interface provides means to browse the hierarchy, to visualize the dependences of each group, to possibly refine the proposed hierarchy and to annotate nodes or groups.
This paper introduces our approach for dependence graph handling, it describes our tool for graph exploration and discusses the results we obtained with a set of real-world programs.
This paper can be ordered from Wiley. Alternatively, you can email to email@example.com.