Journal ArticleWe demonstrate the application of topological analysis techniques to the rather unexpected domain of software visualization. We collect a memory reference trace from a running program, recasting the linear flow of trace records as a high-dimensional point cloud in a metric space. We use topological persistence to automatically detect significant circular structures in the point cloud, which represent recurrent or cyclical runtime program behaviors. We visualize such recurrences using radial plots to display their time evolution, offering multi-scale visual insights, and detecting potential candidates for memory performance optimization. We then present several case studies to demonstrate some key insights obtained using our t...
Most programs are repetitive, where similar behavior can be seen at different execution times. Algo...
With the heavy memory pressure produced by multi-core systems and with memory per- formance trailing...
Understanding the behavioural aspects of software systems can help in a variety of software engineer...
dissertationComputer programs have complex interactions with their underlying hardware, exhibiting c...
Abstract—We present a system for visualizing memory refer-ence traces, the records of the memory tra...
We present the Memory Trace Visualizer (MTV), a tool that provides interactive visualization and ana...
Preprint of article published in: Journal of Systems and Software (Elsevier), 81 (12), 2008; doi:10....
Over the past decades, core speeds have been improving at a much higher rate than memory bandwidth. ...
The use of dynamic information to aid in software understanding is a common practice nowadays. One o...
The global cache misses ratio of a program does not reveal the time distribution of the memory refer...
Modeling the evolution of the state of program memory during program execution is critical to many p...
In time-varying scientific datasets, the temporal evolution of interesting topological features is c...
The use of dynamic information to aid in software understanding is a common practice nowadays. One o...
This thesis is about visualizing a kind of data that is trivial to process by computers but difficul...
An important part of many software maintenance tasks is to gain a sufficient level of understanding ...
Most programs are repetitive, where similar behavior can be seen at different execution times. Algo...
With the heavy memory pressure produced by multi-core systems and with memory per- formance trailing...
Understanding the behavioural aspects of software systems can help in a variety of software engineer...
dissertationComputer programs have complex interactions with their underlying hardware, exhibiting c...
Abstract—We present a system for visualizing memory refer-ence traces, the records of the memory tra...
We present the Memory Trace Visualizer (MTV), a tool that provides interactive visualization and ana...
Preprint of article published in: Journal of Systems and Software (Elsevier), 81 (12), 2008; doi:10....
Over the past decades, core speeds have been improving at a much higher rate than memory bandwidth. ...
The use of dynamic information to aid in software understanding is a common practice nowadays. One o...
The global cache misses ratio of a program does not reveal the time distribution of the memory refer...
Modeling the evolution of the state of program memory during program execution is critical to many p...
In time-varying scientific datasets, the temporal evolution of interesting topological features is c...
The use of dynamic information to aid in software understanding is a common practice nowadays. One o...
This thesis is about visualizing a kind of data that is trivial to process by computers but difficul...
An important part of many software maintenance tasks is to gain a sufficient level of understanding ...
Most programs are repetitive, where similar behavior can be seen at different execution times. Algo...
With the heavy memory pressure produced by multi-core systems and with memory per- formance trailing...
Understanding the behavioural aspects of software systems can help in a variety of software engineer...