paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Heaps'n leaks

《堆与泄漏》(Heaps'n Leaks)
ICSE Proceedings of the ACM/IEEE 42nd International Conference on Software Engineering2020匹配度 4/10 · 论文属于静态污点分析与动态堆快照结合的程序分析工作,与用户关注的程序分析/抽象解释有交集,但未涉及 LLM/Agent 与静态分析的交叉、浮点程序分析或贝叶斯程序分析等核心方向。引用 10 inbox
Manuel Benz, Erik Krogh Kristensen, Linghui Luo, Nataniel P. Borges, Eric Bodden, Andreas Zeller
crossref: 2026-09-12

AI 速览

一句话:将运行时堆快照融入静态污点分析,提升 Android 信息流分析的精度与性能。

Android 应用的信息流评估常依赖静态污点分析,但其精度受限于无法精确确定指针可能指向的对象。本文研究将运行时某一时刻采集的动态堆快照引入静态分析后,能否同样改善污点分析,并考察快照采集时机、数量及使用方式对可靠性与精度的影响。作者扩展 FlowDroid 以融入堆快照,实现原型 Heapster,并在新构建的真实 Android 应用基准 DroidMacroBench 上评估,该基准也作为工件公开。结果表明:使用堆快照可降低分析时间与内存消耗并提高精度;对无动态数据的对象回退到静态指向关系的混合模式能在精度与召回间取得良好权衡;单次快照(理想为执行结束时采集)即可改善性能与精度,而多次快照可获得更优权衡。

问题
静态污点分析因难以精确判断指针指向而精度受限,本文探究动态堆快照能否改善 Android 信息流分析的可靠性与精度。
方法
扩展 FlowDroid 以融入运行时堆快照,构建 Heapster 原型,并系统变化快照采集时机、数量及使用方式,在真实应用基准上评估。
评估
在包含真实 Android 应用的新基准 DroidMacroBench 上评估 Heapster,测量分析时间、内存、精度与召回,并比较不同快照策略及混合模式。
原文摘要(Abstract)

The assessment of information flows is an essential part of analyzing Android apps, and is frequently supported by static taint analysis. Its precision, however, can suffer from the analysis not being able to precisely determine what elements a pointer can (and cannot) point to. Recent advances in static analysis suggest that incorporating dynamic heap snapshots, taken at one point at runtime, can significantly improve general static analysis. In this paper, we investigate to what extent this also holds for taint analysis, and how various design decisions, such as when and how many snapshots are collected during execution, and how exactly they are used, impact soundness and precision. We have extended FlowDroid to incorporate heap snapshots, yielding our prototype Heapster, and evaluated it on DroidMacroBench, a novel benchmark comprising real-world Android apps that we also make available as an artifact. The results show (1) the use of heap snapshots lowers analysis time and memory consumption while increasing precision; (2) a very good trade-off between precision and recall is achieved by a mixed mode in which the analysis falls back to static points-to relations for objects for which no dynamic data was recorded; and (3) while a single heap snapshot (ideally taken at the end of the execution) suffices to improve performance and precision, a better trade-off can be obtained by using multiple snapshots.

链接与引用

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

BibTeX
@inproceedings{paperbot5558,
  title = {Heaps'n leaks},
  author = {Manuel Benz and Erik Krogh Kristensen and Linghui Luo and Nataniel P. Borges and Eric Bodden and Andreas Zeller},
  booktitle = {ICSE},
  year = {2020},
  doi = {10.1145/3377811.3380438}
}