arXiv:2508.02729cs.SEcs.AI2025-08

用深度学习将代码语义融入性能分析,帮工程师快速定位优化点。

Interpreting Performance Profiles with Deep Learning

  • 结合CodeBERT生成代码摘要,融合到Async Profiler中
  • 在图形界面展示任意调用路径的语义摘要
  • 提升非原作者工程师对性能瓶颈的理解效率

性能分析工具在理解程序运行时行为(如热点、瓶颈、低效)方面至关重要。然而,现有工具需软件工程师手动解读复杂数据并定位可优化代码,尤其对非代码作者而言极具挑战性。本文提出一种新方法:利用深度学习将性能剖析结果与程序语义结合。具体地,采用微调后的CodeBERT模型生成代码摘要,并集成至Async Profiler(当前最先进的Java剖析器)中。系统可在图形界面中展示任意调用路径的语义信息,显著提升对多个Java基准测试的分析效率,帮助用户更精准地识别可操作的优化方向。

原文摘要 · Abstract (English)

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 inefficiencies for actionable optimization. To be concrete, we combine profiles generated by Async Profiler (the state-of-the-art Java profiler) with code summarization from a fine-tuned CodeBERT-based model. We demonstrate the code summaries of any selected call path in a graphic user interface. Our system can effectively assist analysis on many Java benchmarks.

性能分析代码理解深度学习Java

Thank you to arXiv for use of its open access interoperability. PaperDance 不是 arXiv 官方产品;中文卡片由大模型生成,请以原文为准。