Maintenance Support for Object-Oriented Programs
IEEE Transactions on Software Engineering - Special issue on software maintenance
A real-time garbage collector based on the lifetimes of objects
Communications of the ACM
Shimba—an environment for reverse engineering Java software systems
Software—Practice & Experience
ICSE '01 Proceedings of the 23rd International Conference on Software Engineering
Locating Features in Source Code
IEEE Transactions on Software Engineering
Visualizing the Execution of Java Programs
Revised Lectures on Software Visualization, International Seminar
Design recovery of interactive graphical applications
Proceedings of the 25th International Conference on Software Engineering
Generation Scavenging: A non-disruptive high performance storage reclamation algorithm
SDE 1 Proceedings of the first ACM SIGSOFT/SIGPLAN software engineering symposium on Practical software development environments
Using Dynamic Information for the Iterative Recovery of Collaborations and Roles
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
A Hierarchy of Dynamic Software Views: From Object-Interactions to Feature-Interactions
ICSM '04 Proceedings of the 20th IEEE International Conference on Software Maintenance
ASPLOS XI Proceedings of the 11th international conference on Architectural support for programming languages and operating systems
Object naming analysis for reverse-engineered sequence diagrams
Proceedings of the 27th international conference on Software engineering
Dynamic detection and visualization of software phases
WODA '05 Proceedings of the third international workshop on Dynamic analysis
Proceedings of the 20th IEEE/ACM international Conference on Automated software engineering
Extracting Sequence Diagram from Execution Trace of Java Program
IWPSE '05 Proceedings of the Eighth International Workshop on Principles of Software Evolution
Online Phase Detection Algorithms
Proceedings of the International Symposium on Code Generation and Optimization
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Locality approximation using time
Proceedings of the 34th annual ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Toward the Reverse Engineering of UML Sequence Diagrams for Distributed Java Software
IEEE Transactions on Software Engineering
Understanding Execution Traces Using Massive Sequence and Circular Bundle Views
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Tracking Objects to Detect Feature Dependencies
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Proceedings of the 2007 international symposium on Software testing and analysis
Declarative and visual debugging in Eclipse
Proceedings of the 2007 OOPSLA workshop on eclipse technology eXchange
Interactive Exploration of UML Sequence Diagrams
VISSOFT '05 Proceedings of the 3rd IEEE International Workshop on Visualizing Software for Understanding and Analysis
Using compression algorithms to support the comprehension of program traces
Proceedings of the Eighth International Workshop on Dynamic Analysis
Source code partitioning using process mining
BPM'11 Proceedings of the 9th international conference on Business process management
Stratified sampling of execution traces: Execution phases serving as strata
Science of Computer Programming
Hi-index | 0.00 |
Visualizing collaborations of objects is important for developers understanding and debugging an object-oriented program. Many techniques and tools are proposed to visualize dynamic collaborations involved in an execution trace of a system, however, an execution trace may be too large to be transformed into a single diagram. In this paper, we propose a novel approach to efficiently detecting phases, or high-level behavioral units described in a use-case scenario. Our idea is based on the nature of object-oriented programming; a phase starts with preparing objects for the phase and ends with destroying temporary objects. Our technique uses a LRU cache for observing a working set of objects, and interprets a sharp rise in the frequency of the cache update as a phase transition. We have applied our approach to two industrial applications and found that our approach is promising to visualize a phase corresponding to a feature as a sequence diagram.