Interpreting Performance Profiles with Deep Learning
Zhuoran Liu

TL;DR
This paper introduces a deep learning-based system that combines performance profiling data with code semantics to help software engineers interpret program inefficiencies more effectively, especially in Java applications.
Contribution
The work integrates code summarization with performance profiles using a fine-tuned CodeBERT model to improve understanding of program inefficiencies.
Findings
Effective assistance in analyzing Java benchmark performance.
Improved interpretation of profiling data through semantic integration.
Enhanced user interface for visualizing code summaries and profiles.
Abstract
Profiling tools (also known as profilers) play an important role in understanding program performance at runtime, such as hotspots, bottlenecks, and inefficiencies. While profilers have been proven to be useful, they give extra burden to software engineers. Software engineers, as the users, are responsible to interpret the complex performance data and identify actionable optimization in program source code. However, it can be challenging for users to associate inefficiencies with the program semantics, especially if the users are not the authors of the code, which limits the applicability of profilers. In this thesis, we explore a new direction to combine performance profiles and program semantics with a deep learning approach. The key idea is to glean code summary for semantic information (at a certain level) and integrate it into a profiler, which can better understand program…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
