Relational Equivalence Proofs Between Imperative and MapReduce Algorithms
Bernhard Beckert, Timo Bingmann, Moritz Kiefer, Peter Sanders, and Mattias Ulbrich, Alexander Weigl

TL;DR
This paper introduces a novel method for verifying the equivalence of imperative algorithms and their MapReduce implementations by decomposing proofs into manageable, intermediate steps, demonstrated on k-means and PageRank algorithms using Coq.
Contribution
The paper presents a new approach for proving algorithm equivalence between imperative and MapReduce versions through intermediate proof steps and coupling invariants, implemented in Coq.
Findings
Feasibility demonstrated on k-means and PageRank algorithms.
Approach enables non-trivial equivalence proofs with partial automation.
Proofs are decomposed into uniform and context-dependent transformations.
Abstract
MapReduce frameworks are widely used for the implementation of distributed algorithms. However, translating imperative algorithms into these frameworks requires significant structural changes to the algorithm. As the costs of running faulty algorithms at scale can be severe, it is highly desirable to verify the correctness of the translation, i.e., to prove that the MapReduce version is equivalent to the imperative original. We present a novel approach for proving equivalence between imperative and MapReduce algorithms based on partitioning the equivalence proof into a sequence of equivalence proofs between intermediate programs with smaller differences. Our approach is based on the insight that two kinds of sub-proofs are required: (1) uniform transformations changing the controlflow structure that are mostly independent of the particular context in which they are applied; and (2)…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
