paperbot · PL 论文追踪

RSS

Verifying an Effect-Handler-Based Define-By-Run Reverse-Mode AD Library

LMCS vol.Volume 19, Issue 42023
Paulo Emílio de Vilhena, François Pottier

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

原文摘要(Abstract)

We apply program verification technology to the problem of specifying and verifying automatic differentiation (AD) algorithms. We focus on define-by-run, a style of AD where the program that must be differentiated is executed and monitored by the automatic differentiation algorithm. We begin by asking, "what is an implementation of AD?" and "what does it mean for an implementation of AD to be correct?" We answer these questions both at an informal level, in precise English prose, and at a formal level, using types and logical assertions. After answering these broad questions, we focus on a specific implementation of AD, which involves a number of subtle programming-language features, including dynamically allocated mutable state, first-class functions, and effect handlers. We present a machine-checked proof, expressed in a modern variant of Separation Logic, of its correctness. We view this result as an advanced exercise in program verification, with potential future applications to the verification of more realistic automatic differentiation systems and of other software components that exploit delimited-control effects.

链接与引用

DOI 原文 ·

BibTeX
@article{paperbot2189,
  title = {Verifying an Effect-Handler-Based Define-By-Run Reverse-Mode AD Library},
  author = {Paulo Emílio de Vilhena and François Pottier},
  journal = {Logical Methods in Computer Science},
  volume = {Volume 19, Issue 4},
  year = {2023},
  doi = {10.46298/lmcs-19(4:5)2023}
}