paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Representing and reasoning about dynamic code

动态代码的表示与推理
ASE Proceedings of the 35th IEEE/ACM International Conference on Automated Software Engineering2020匹配度 3/10 · 该论文属于程序分析与抽象解释,关注动态代码生成器与生成代码之间的依赖和信息流推理,但与用户核心方向中的 LLM/Agent 静态分析、浮点程序分析、贝叶斯程序分析等交叉点均无直接关联,也未涉及 ML 系统或 Agentic 程序场景。引用 0 inbox
Jesse Bartels, Jon Stephens, Saumya Debray
crossref: 2026-09-12

AI 速览

一句话:提出一种程序表示与新的依赖概念,用于推理动态代码生成器与生成代码之间的依赖和信息流关系。

动态代码(运行时创建或修改的代码)在当前软件中无处不在,其行为可能以微妙方式依赖生成器逻辑,例如 JIT 编译器缺陷可导致生成代码中的可利用漏洞。现有程序分析缺乏对生成器与生成代码之间行为关系的充分支持。本文迈出第一步,提出一种程序表示和一种新的依赖概念,用以刻画动态代码生成器与所生成动态代码之间的依赖与信息流关系。实验结果表明,基于这些概念的分析能够捕获传统程序分析无法识别的动态代码属性。

问题
现有程序分析无法充分支持对动态代码生成器与生成代码之间行为依赖关系的推理。
方法
提出一种程序表示和新的依赖概念,用于表达动态代码生成器与所生成动态代码之间的依赖与信息流关系。
评估
通过实验评估基于所提概念的分析,表明其能捕获传统程序分析无法识别的动态代码属性。
原文摘要(Abstract)

Dynamic code, i.e., code that is created or modified at runtime, is ubiquitous in today's world. The behavior of dynamic code can depend on the logic of the dynamic code generator in subtle and non-obvious ways, e.g., JIT compiler bugs can lead to exploitable vulnerabilities in the resulting JIT-compiled code. Existing approaches to program analysis do not provide adequate support for reasoning about such behavioral relationships. This paper takes a first step in addressing this problem by describing a program representation and a new notion of dependency that allows us to reason about dependency and information flow relationships between the dynamic code generator and the generated dynamic code. Experimental results show that analyses based on these concepts are able to capture properties of dynamic code that cannot be identified using traditional program analyses.

链接与引用

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

BibTeX
@inproceedings{paperbot5964,
  title = {Representing and reasoning about dynamic code},
  author = {Jesse Bartels and Jon Stephens and Saumya Debray},
  booktitle = {ASE},
  year = {2020},
  doi = {10.1145/3324884.3416542}
}