paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A Log-Centric Overlay on Method Call Graphs

方法调用图上的以日志为中心的叠加视图
FSE Proceedings of the 34th ACM International Conference on the Foundations of Software Engineering2026匹配度 2/10 · 论文属于通用静态程序分析与开发者工具,围绕日志与调用图构建导航视图,与用户核心方向(LLM/Agent 与静态分析交叉、浮点程序分析、贝叶斯程序分析)无直接关联;其案例为 HDFS 而非机器学习或 Agentic 系统,也未涉及 LLM 作为工具或改进静态分析。引用 0 inbox
Zhaoqi Gu
crossref: 2026-09-12dblp: 2026-09-12

AI 速览

一句话:提出静态的日志中心叠加层,构建日志语句图并提升为方法级 Log-enabled Call Graph,为日志驱动的程序理解提供更小、以可观测性对齐的导航界面。

方法调用图(MCG)有助于程序理解,但往往规模过大,且与以日志为线索的工作流不匹配。本文提出一种静态的、以日志为中心的叠加层:先构建日志语句图(Log Statement Graph, LSG),再将其提升为方法级的 Log-enabled Call Graph(LCG),同时保留指回底层 MCG 的链接,以便按需展开更深层的调用结构。作者以 Hadoop HDFS 为案例进行研究,LCG 相比 MCG 显著更小:方法数 2,916 对 33,277,边数 304 对 29,092,跨类边更是从 20,484 降至 14。保留性分析显示,LCG 的连通性排名与 MCG 排名差异很大(top-k 几乎不重叠、秩相关性很弱),说明 LCG 提供的是一种正交的、与可观测性对齐的结构视图。作者将 LCG 定位为日志驱动理解的实用导航界面,并在需要更深调用结构时由 MCG 补充。

问题
方法调用图虽利于程序理解,但规模庞大且与开发者以日志为线索的调试与理解流程不对齐,缺少以可观测性为中心的导航视图。
方法
静态构建日志语句图(LSG),并提升为方法级的 Log-enabled Call Graph(LCG),同时保留回指底层 MCG 的链接以支持按需展开。
评估
在 Hadoop HDFS 上进行案例分析,比较 LCG 与 MCG 的规模与跨类边数量,并通过保留性分析比较两者的连通性排名(top-k 重叠度与秩相关性)。
原文摘要(Abstract)

Method call graphs (MCGs) are useful for program comprehension but are often too large and not aligned with log-driven workflows. We propose a static, log-centric overlay that builds a Log Statement Graph (LSG) and lifts it to a method-level Log-enabled Call Graph (LCG), while remaining linkable back to the underlying MCG for expansion. In a Hadoop HDFS case study, the LCG is dramatically smaller than the MCG (33,277 vs. 2,916 methods; 29,092 vs. 304 edges) and has far fewer cross-class edges (20,484 vs. 14). A retention analysis shows LCG connectivity rankings differ substantially from MCG rankings (near-zero top-k overlap; weak rank correlation), indicating the LCG provides an orthogonal, observability-aligned view of structure. We position LCG as a practical navigation surface for log-driven comprehension, complemented by the MCG when deeper call structure is required.

链接与引用

DOI 原文 · PDF(开放获取) · DBLP

BibTeX
@inproceedings{Gu26,
  title = {A Log-Centric Overlay on Method Call Graphs},
  author = {Zhaoqi Gu},
  booktitle = {FSE},
  year = {2026},
  doi = {10.1145/3803437.3804444}
}