Visualizing interactions in program executions
ICSE '97 Proceedings of the 19th international conference on Software engineering
An empirical study of static call graph extractors
ACM Transactions on Software Engineering and Methodology (TOSEM)
The Unified Modeling Language reference manual
The Unified Modeling Language reference manual
An open graph visualization system and its applications to software engineering
Software—Practice & Experience - Special issue on discrete algorithm engineering
The Object Primer
Visualization of test information to assist fault localization
Proceedings of the 24th International Conference on Software Engineering
GCspy: an adaptable heap visualisation framework
OOPSLA '02 Proceedings of the 17th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Decorating tokens to facilitate recognition of ambiguous language constructs
Software—Practice & Experience
Proceedings of the 2003 ACM symposium on Software visualization
Visualization of program-execution data for deployed software
Proceedings of the 2003 ACM symposium on Software visualization
Interactive visual debugging with UML
Proceedings of the 2003 ACM symposium on Software visualization
Parsing C++ Despite Missing Declarations
IWPC '99 Proceedings of the 7th International Workshop on Program Comprehension
Weaving Aspects into C++ Applications for Validation of Temporal Invariants
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Program Instrumentation for Debugging and Monitoring with AspectC++
ISORC '02 Proceedings of the Fifth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing
Program Annotation in XML: A Parse-Tree Based Approach
WCRE '02 Proceedings of the Ninth Working Conference on Reverse Engineering (WCRE'02)
GAMMATELLA: visualizing program-execution data for deployed software
Information Visualization - Special issue: Software visualization
Analyzing feature implementation by visual exploration of architecturally-embedded call-graphs
Proceedings of the 2006 international workshop on Dynamic systems analysis
Code Generation on Steroids: Enhancing COTS Code Generators via Generative Aspects
IWICSS '07 Proceedings of the Second International Workshop on Incorporating COTS Software into Software Systems: Tools and Techniques
A General Framework for Overlay Visualization
Electronic Notes in Theoretical Computer Science (ENTCS)
A tool chain for reverse engineering C++ applications
Science of Computer Programming
Visualizing the runtime behavior of embedded network systems: A toolkit for TinyOS
Science of Computer Programming
Dynamic architecture extraction
FATES'06/RV'06 Proceedings of the First combined international conference on Formal Approaches to Software Testing and Runtime Verification
An animation framework for improving the comprehension of TinyOS programs
Proceedings of the 27th Annual ACM Symposium on Applied Computing
Hi-index | 0.00 |
In this paper we present an approach to modeling and visualizing the dynamic interactions among objects in a C++ application. We exploit UML diagrams to expressively visualize both the static and dynamic properties of the application. We make use of a class diagram and call graph of the application to select the parts of the application to be modeled, thereby reducing the number of objects and methods under consideration with a concomitant reduction in the cognitive burden on the user of our system. We use aspects to insert probes into the application to enable profiling of the interactions of objects and methods and we visualize these interactions by providing sequence and communication diagrams for the parts of the program under consideration. We complement our static selectors with dynamic selectors that enable the user to further filter objects and methods from the sequence and communication diagrams, further enhancing the cognitive economy of our system. A key feature of our approach is the provision for dynamic interaction with both the profiler and the application. Interaction with the profiler enables filtering of methods and objects. Interaction with the application enables the user to supply input to the application to provide direction and enhance comprehension or debugging.