paperbot · PL 论文追踪

RSS

A Theory of Slicing for Imperative Probabilistic Programs

TOPLAS 42(2)2020引用 6
Torben Amtoft, Anindya Banerjee

尚未生成 AI 速览(可能缺少 API key 或等待下次运行补跑)。

原文摘要(Abstract)

Dedicated to the memory of Sebastian Danicic. We present a theory for slicing imperative probabilistic programs containing random assignments and “observe” statements for conditioning. We represent such programs as probabilistic control-flow graphs (pCFGs) whose nodes modify probability distributions. This allows direct adaptation of standard machinery such as data dependence, postdominators, relevant variables, and so on, to the probabilistic setting. We separate the specification of slicing from its implementation: (1) first, we develop syntactic conditions that a slice must satisfy (they involve the existence of another disjoint slice such that the variables of the two slices are probabilistically independent of each other); (2) next, we prove that any such slice is semantically correct; (3) finally, we give an algorithm to compute the least slice. To generate smaller slices, we may in addition take advantage of knowledge that certain loops will terminate (almost) always. Our results carry over to the slicing of structured imperative probabilistic programs, as handled in recent work by Hur et al. For such a program, we can define its slice, which has the same “normalized” semantics as the original program; the proof of this property is based on a result proving the adequacy of the semantics of pCFGs w.r.t. the standard semantics of structured imperative probabilistic programs.

链接与引用

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

BibTeX
@article{AmtoftB20,
  title = {A Theory of Slicing for Imperative Probabilistic Programs},
  author = {Torben Amtoft and Anindya Banerjee},
  journal = {ACM Transactions on Programming Languages and Systems},
  volume = {42},
  number = {2},
  year = {2020},
  doi = {10.1145/3372895}
}