一句话:提出量化最强后条件演算,支持非确定性含循环程序,用于推理量化信息流并导出部分不正确性逻辑。
论文针对非确定性含循环程序的量化推理,提出一种新的最强后条件演算。现有量化最弱前置条件只能从给定初始状态推理程序终止后的量值,而量化最强后条件可反向推理:在程序执行并到达给定终态时,某量在执行前应取何值。该演算使程序中的量化信息流推理成为可能,并类比最弱自由前置条件,给出量化最强自由后条件。作为副产品,作者首次提出最强自由后条件这一概念,并表明它预示一种新的程序逻辑——部分不正确性逻辑(partial incorrectness logic),可视为 O'Hearn 近期不正确性逻辑的更自由版本。
We present a novel strongest-postcondition-style calculus for quantitative reasoning about non-deterministic programs with loops. Whereas existing quantitative weakest pre allows reasoning about the value of a quantity after a program terminates on a given initial state, quantitative strongest post allows reasoning about the value that a quantity had before the program was executed and reached a given final state. We show how strongest post enables reasoning about the flow of quantitative information through programs. Similarly to weakest liberal preconditions, we also develop a quantitative strongest liberal post. As a byproduct, we obtain the entirely unexplored notion of strongest liberal postconditions and show how these foreshadow a potential new program logic - partial incorrectness logic - which would be a more liberal version of O'Hearn's recent incorrectness logic.
@article{paperbot1528,
title = {Quantitative strongest post: a calculus for reasoning about the flow of quantitative information},
author = {Linpeng Zhang and Benjamin Lucien Kaminski},
journal = {Proceedings of the ACM on Programming Languages},
volume = {6},
number = {OOPSLA1},
year = {2022},
doi = {10.1145/3527331}
}