paperbot · PL 论文追踪

RSS

Deriving with Derivatives: Optimizing Incremental Fixpoints for Higher-Order Flow Analysis

ICFP 8(ICFP)2024引用 3
Benjamin Quiring, David Van Horn

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

原文摘要(Abstract)

Attheheartofefficientprogramanalysisimplementationsareincrementalsolutionstofixpointproblems.These solutions can be interpreted as the derivative of the underlying analysis function. Methods that describe how to systematically derive higher-order analyses from program semantics, such as Abstracting Abstract Machines, don’t shed light on how to efficiently implement those analyses. In this paper, we explore complementary techniques to optimize the derivative computation towards deriving efficient implementations. In particular, we use static specializations (by partial evaluation and rewriting) and dynamic specializations (in the form of tracking dependencies during the fixpoint), yielding efficient incremental fixpoints. We present how these optimizations apply to an example analysis of continuation-passing-style 𝜆-calculus, and describe how they pair particularly well with tunable and optimized workset-based fixpoint methods. We demonstrate the efficacy of this approach on a flow analysis for the Standard ML language, yielding an average speed-up of 56x over an existing fixpoint method for higher-order analyses from the literature.

链接与引用

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

BibTeX
@article{QuiringH24,
  title = {Deriving with Derivatives: Optimizing Incremental Fixpoints for Higher-Order Flow Analysis},
  author = {Benjamin Quiring and David Van Horn},
  journal = {Proceedings of the ACM on Programming Languages},
  volume = {8},
  number = {ICFP},
  year = {2024},
  doi = {10.1145/3674650}
}