Skip to main content
eScholarship
Open Access Publications from the University of California

UC Irvine

UC Irvine Electronic Theses and Dissertations bannerUC Irvine

Visualizing Execution Phases Using Flame Graph

Abstract

Profiling mechanisms are an important dynamic analysis approach for source code learners and maintainers to understand the functions, the dynamic behavior, and the purpose of method calls in the hierarchical abstraction of the program. However, the output provided by program profilers can be verbose, making the mapping between source code and program behavior time-consuming. This paper presents a new approach for processing and visualizing program execution trace to speed up the understanding process, making profilers' output more intuitive to users. This approach first identifies similar execution phases using the tree edit distance (TED) measure and then visualizes the methods and the phases detected based on the flame graph. Compared with other similar studies, our approach reduces the preprocessing time of the profiler's output and presents the execution phases of the software at various levels of abstraction to the user while maintaining the invocation time and the order of the methods in an execution. To verify the effectiveness of this technique, we also conducted case studies on three different Java programs (Jackson, iText, and FingBugs). The results demonstrate that our approach can process the profiler output and detect similar execution phases in a short time. Users can also locate the position of phases in the execution process by finding similar shapes and simple operations in the visualization.

Main Content
For improved accessibility of PDF content, download the file to your device.
Current View