paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Giving semantics to program-counter labels via secure effects

通过安全效应为程序计数器标签赋予语义
POPL 5(POPL)2021匹配度 2/10 · 该论文是信息流控制中程序计数器标签的单子效应语义与不干涉性证明技术,属于 PL 形式语义/类型系统的纯理论工作,与用户画像的核心方向(LLM/Agent 程序的静态分析、LLM 改进静态分析/形式化验证、浮点程序分析、贝叶斯程序分析)均无直接关联,仅在“静态分析/形式化验证”这一宽泛领域上略有交集。引用 2 inbox
Andrew K. Hirsch, Ethan Cecchetti
crossref: 2026-09-10

AI 速览

一句话:提出基于单子效应语义的框架,为信息流控制中程序计数器标签建立语义基础与新非干涉证明技术。

信息流控制类型系统常用程序计数器(PC)标签跟踪敏感上下文,并防止带效应计算造成泄漏,但此前对 PC 标签的推理多为非形式化,安全证明也依赖特定技巧。本文基于效应的单子语义建立统一框架,为 PC 标签给出语义解释。由此得到三方面结果:提出一种新的非干涉性证明技术,非干涉性是带效应语言中信息流控制的核心安全定理;统一了状态、异常与非终止等不同效应的安全概念;形式化了“PC 标签是效应下界”的民间说法,并表明其虽非普遍成立,却具有良好语义基础。

问题
如何为信息流控制中用于跟踪敏感上下文的程序计数器标签提供原则性语义,并避免安全证明中临时性的、不统一的技术。
方法
采用效应的单子语义作为基础,将程序计数器标签解释为对效应施加的安全约束,并在该框架内研究非干涉性与效应安全概念。
评估
通过理论推导与证明给出新的非干涉证明技术、状态/异常/非终止等效应的安全概念统一,以及 PC 标签作为效应下界的语义刻画。
原文摘要(Abstract)

Type systems designed for information-flow control commonly use a program-counter label to track the sensitivity of the context and rule out data leakage arising from effectful computation in a sensitive context. Currently, type-system designers reason about this label informally except in security proofs, where they use ad-hoc techniques. We develop a framework based on monadic semantics for effects to give semantics to program-counter labels. This framework leads to three results about program-counter labels. First, we develop a new proof technique for noninterference, the core security theorem for information-flow control in effectful languages. Second, we unify notions of security for different types of effects, including state, exceptions, and nontermination. Finally, we formalize the folklore that program-counter labels are a lower bound on effects. We show that, while not universally true, this folklore has a good semantic foundation.

链接与引用

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

BibTeX
@article{paperbot1171,
  title = {Giving semantics to program-counter labels via secure effects},
  author = {Andrew K. Hirsch and Ethan Cecchetti},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {5},
  number = {POPL},
  year = {2021},
  doi = {10.1145/3434316}
}