Logo image
Spy game: verifying a local generic solver in Iris
Conference proceeding   Open access

Spy game: verifying a local generic solver in Iris

Paulo Emilio De Vilhena, Francois Pottier and Jacques-Henri Jourdan
Proceedings of ACM on programming languages (POPL 2020), Vol.4(POPL), 33
Proceedings of the ACM on Programming Languages
47th ACM SIGPLAN Symposium on Principles of Programming Languages (POPL 2020) (New Orleans, Louisiana, United States, 19/01/2020–25/01/2020)
01/2020

Abstract

separation logic prophecy variables least fixed point Theory of computation Program Verification
We verify the partial correctness of a "local generic solver", that is, an on-demand, incremental, memoizing least fixed point computation algorithm. The verification is carried out in Iris, a modern breed of concurrent separation logic. The specification is simple: the solver computes the optimal least fixed point of a system of monotone equations. Although the solver relies on mutable internal state for memoization and for "spying", a form of dynamic dependency discovery, it is apparently pure: no side effects are mentioned in its specification. As auxiliary contributions, we provide several illustrations of the use of prophecy variables, a novel feature of Iris; we establish a restricted form of the infinitary conjunction rule; and we provide a specification and proof of Longley's modulus function, an archetypical example of spying.
url
https://doi.org/10.1145/3371101View
Published (Version of record) Open CC BY V4.0
url
https://popl20.sigplan.org/View
Event Website Conference website

Metrics

1 Record Views

Details

Logo image

Usage Policy