Interprocedural slicing using dependence graphs
ACM Transactions on Programming Languages and Systems (TOPLAS)
Value dependence graphs: representation without taxation
POPL '94 Proceedings of the 21st ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Pad++: a zooming graphical interface for exploring alternate interface physics
UIST '94 Proceedings of the 7th annual ACM symposium on User interface software and technology
A new model of program dependences for reverse engineering
SIGSOFT '94 Proceedings of the 2nd ACM SIGSOFT symposium on Foundations of software engineering
Communications of the ACM
Flow insensitive C++ pointers and polymorphism analysis and its application to slicing
ICSE '97 Proceedings of the 19th international conference on Software engineering
Program Understanding and Maintenance with the CANTO Environment
ICSM '97 Proceedings of the International Conference on Software Maintenance
Variable Precision Reaching Definitions Analysis for Software Maintenance
CSMR '97 Proceedings of the 1st Euromicro Working Conference on Software Maintenance and Reengineering (CSMR '97)
STOC '72 Proceedings of the fourth annual ACM symposium on Theory of computing
The program dependence graph in a software development environment
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Using Dependence Graphs as a Support to Document Programs
SCAM '02 Proceedings of the Second IEEE International Workshop on Source Code Analysis and Manipulation
Using Visualization for Architectural Localization and Extraction
WCRE '97 Proceedings of the Fourth Working Conference on Reverse Engineering (WCRE '97)
Node Coarsening Calculi for Program Slicing
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
Displaying dependence graphs: a hierarchical approach
WCRE '01 Proceedings of the Eighth Working Conference on Reverse Engineering (WCRE'01)
The information mural: a technique for displaying and navigating large information spaces
INFOVIS '95 Proceedings of the 1995 IEEE Symposium on Information Visualization
On Integrating Visualization Techniques for Effective Software Exploration
INFOVIS '97 Proceedings of the 1997 IEEE Symposium on Information Visualization (InfoVis '97)
GSEE: A Generic Software Exploration Environment
IWPC '01 Proceedings of the 9th International Workshop on Program Comprehension
Proceedings of the 2007 international symposium on Software testing and analysis
Exploring the neighborhood with dora to expedite software maintenance
Proceedings of the twenty-second IEEE/ACM international conference on Automated software engineering
GamaSlicer: an online laboratory for program verification and analysis
Proceedings of the Tenth Workshop on Language Descriptions, Tools and Applications
Hi-index | 0.00 |
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 too many nodes and edges for them to be easily comprehended, even for medium sized programs. That is why we propose decomposing 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 implement a tool that builds this hierarchy and stores it in a database. 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.