paperbot · PL 论文追踪

全部论文 待读 收藏

P2 A general approach to modeling Java framework behaviors

一种建模 Java 框架行为的通用方法
FSE Proceedings of the 29th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering2021匹配度 2/10 · 论文属于经典程序静态分析(Java 框架行为建模与调用图),与用户核心关注的 LLM/Agent 和静态分析交叉、浮点程序分析、贝叶斯程序分析均无直接关联;仅因同属程序分析领域而有一点弱相关。引用 1 inbox
Linghui Luo
crossref: 2026-09-12

AI 速览

一句话:提出一种与框架和分析工具无关的 Java 框架行为通用建模方法,提升调用图完整性与客户端分析效果。

跨过程静态分析(如安全分析)依赖高质量调用图,但面向框架应用时难以扩展到直接分析框架代码,因此多数工具转而手工建模框架语义;这类模型针对特定分析定制,且本质上不完整。本文提出一种通用的 Java 框架行为建模方法,不绑定特定框架或分析工具,因而具有高度可复用性。作者指出通用近似可能引入噪声,但通过精心构造的模型可取得较好效果。在 Android 上以客户端污点分析进行评估,结果表明该方法比原始分析生成更完整的调用图,并使客户端分析同时提升精度(0.83 至 0.86)和召回率(0.20 至 0.31)。

问题
跨过程静态分析需要可扩展的高质量调用图,但直接分析 Java 框架代码困难,现有手工框架模型又针对特定分析且不完整。
方法
提出一种不依赖特定框架或分析工具的通用 Java 框架行为建模方法,通过精心构造的通用近似来补全调用图。
评估
在 Android 平台上用客户端污点分析评估;相比原始分析,生成更完整的调用图,精度从 0.83 升至 0.86,召回率从 0.20 升至 0.31。
原文摘要(Abstract)

Interprocedural static analysis tools such as security analyses need good call graphs, which are challenging to scale for framework-based applications. So most tools model rather than analyzing frameworks. These models are manually crafted to capture framework semantics crucial for the particular analysis, and are inherently incomplete. We propose a general approach to modeling Java frameworks. It is not limited to any framework or analysis tool, therefore, highly reusable. While a generic approximation can be noisy, we show our carefully-constructed one does well. Experiments on Android with a client taint analysis show that our approach produces more complete call graphs than the original analysis. As a result, the client analysis works better: both precision (from 0.83 to 0.86) and recall (from 0.20 to 0.31) are improved.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot6349,
  title = {A general approach to modeling Java framework behaviors},
  author = {Linghui Luo},
  booktitle = {FSE},
  year = {2021},
  doi = {10.1145/3468264.3473489}
}