Abstraction and specification in program development
Abstraction and specification in program development
GraphTrace—understanding object-oriented systems using concurrently animated views
OOPSLA '88 Conference proceedings on Object-oriented programming systems, languages and applications
The Geneva convention on the treatment of object aliasing
ACM SIGPLAN OOPS Messenger
Visualizing the behavior of object-oriented systems
OOPSLA '93 Proceedings of the eighth annual conference on Object-oriented programming systems, languages, and applications
Interactive visualization of design patterns can help in framework understanding
Proceedings of the tenth annual conference on Object-oriented programming systems, languages, and applications
DDD—a free graphical front-end for UNIX debuggers
ACM SIGPLAN Notices
Visualizing interactions in program executions
ICSE '97 Proceedings of the 19th international conference on Software engineering
Visualizing dynamic software system information through high-level models
Proceedings of the 13th ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
The concept of dynamic analysis
ESEC/FSE-7 Proceedings of the 7th European software engineering conference held jointly with the 7th ACM SIGSOFT international symposium on Foundations of software engineering
Shimba—an environment for reverse engineering Java software systems
Software—Practice & Experience
Pointer analysis: haven't we solved this problem yet?
PASTE '01 Proceedings of the 2001 ACM SIGPLAN-SIGSOFT workshop on Program analysis for software tools and engineering
Recovering software requirements from system-user interaction traces
SEKE '02 Proceedings of the 14th international conference on Software engineering and knowledge engineering
Ownership types for object encapsulation
POPL '03 Proceedings of the 30th ACM SIGPLAN-SIGACT symposium on Principles of programming languages
Modeling Object-Oriented Program Execution
ECOOP '94 Proceedings of the 8th European Conference on Object-Oriented Programming
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
ECCOP '98 Proceedings of the 12th European Conference on Object-Oriented Programming
Simple Ownership Types for Object Containment
ECOOP '01 Proceedings of the 15th European Conference on Object-Oriented Programming
AspectJ(tm): Aspect-Oriented Programming in Java
NODe '02 Revised Papers from the International Conference NetObjectDays on Objects, Components, Architectures, Services, and Applications for a Networked World
Dynamic Data Flow Analysis for C++
APSEC '95 Proceedings of the Second Asia Pacific Software Engineering Conference
Recovering High-Level Views of Object-Oriented Applications from Static and Dynamic Information
ICSM '99 Proceedings of the IEEE International Conference on Software Maintenance
Improving Dynamic Data Analysis with Aspect-Oriented Programming
CSMR '03 Proceedings of the Seventh European Conference on Software Maintenance and Reengineering
Static and Dynamic C++ Code Analysis for the Recovery of the Object Diagram
ICSM '02 Proceedings of the International Conference on Software Maintenance (ICSM'02)
An easy-to-use toolkit for efficient Java bytecode translators
Proceedings of the 2nd international conference on Generative programming and component engineering
CSMR '04 Proceedings of the Eighth Euromicro Working Conference on Software Maintenance and Reengineering (CSMR'04)
Applying Webmining Techniques to Execution Traces to Support the Program Comprehension Process
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
Correlating Features and Code Using a Compact Two-Sided Trace Analysis Approach
CSMR '05 Proceedings of the Ninth European Conference on Software Maintenance and Reengineering
The story of moose: an agile reengineering environment
Proceedings of the 10th European software engineering conference held jointly with 13th ACM SIGSOFT international symposium on Foundations of software engineering
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Feature Identification: A Novel Approach and a Case Study
ICSM '05 Proceedings of the 21st IEEE International Conference on Software Maintenance
Relational queries over program traces
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
Object-Oriented Legacy System Trace-based Logic Testing
CSMR '06 Proceedings of the Conference on Software Maintenance and Reengineering
ICPC '06 Proceedings of the 14th IEEE International Conference on Program Comprehension
Mondrian: an agile information visualization framework
SoftVis '06 Proceedings of the 2006 ACM symposium on Software visualization
Execution patterns in object-oriented visualization
COOTS'98 Proceedings of the 4th conference on USENIX Conference on Object-Oriented Technologies and Systems - Volume 4
Tracking Objects to Detect Feature Dependencies
ICPC '07 Proceedings of the 15th IEEE International Conference on Program Comprehension
Object flow analysis: taking an object-centric view on dynamic analysis
ICDL '07 Proceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 2007
Test Blueprints - Exposing Side Effects in Execution Traces to Support Writing Unit Tests
CSMR '08 Proceedings of the 2008 12th European Conference on Software Maintenance and Reengineering
Runtime bytecode transformation for Smalltalk
Computer Languages, Systems and Structures
Scaling Java points-to analysis using SPARK
CC'03 Proceedings of the 12th international conference on Compiler construction
Change-Enabled Software Systems
Software-Intensive Systems and New Computing Paradigms
Executing code in the past: efficient in-memory object graph versioning
Proceedings of the 24th ACM SIGPLAN conference on Object oriented programming systems languages and applications
Hi-index | 0.00 |
A large body of research analyzes the runtime execution of a system to extract abstract behavioral views. Those approaches primarily analyze control flow by tracing method execution events or they analyze object graphs of heap memory snapshots. However, they do not capture how objects are passed through the system at runtime. We refer to the exchange of objects as the object flow, and we claim that it is necessary to analyze object flows if we are to understand the runtime of an object-oriented application. We propose and detail object flow analysis, a novel dynamic analysis technique that takes this new information into account. To evaluate its usefulness, we present a visual approach that allows a developer to study classes and components in terms of how they exchange objects at runtime. We illustrate our approach on three case studies.