Proving equivalence between imperative and MapReduce implementations using program transformations

1Citations
Citations of this article
7Readers
Mendeley users who have this article in their library.

Abstract

Distributed programs are often formulated in popular functional frameworks like MapReduce, Spark and Thrill, but writing e cient algorithms for such frameworks is usually a non-trivial task. As the costs of running faulty algorithms at scale can be severe, it is highly desirable to verify their correctness. We propose to employ existing imperative reference implementations as specifications for MapReduce implementations. To this end, we present a novel verification approach in which equivalence between an imperative and a MapReduce implementation is established by a series of program transformations. In this paper, we present how the equivalence framework can be used to prove equivalence between an imperative implementation of the PageRank algorithm and its MapReduce variant. The eight individual transformation steps are individually presented and explained.

Cite

CITATION STYLE

APA

Beckert, B., Bingmann, T., Kiefer, M., Sanders, P., Ulbrich, M., & Weigl, A. (2018). Proving equivalence between imperative and MapReduce implementations using program transformations. In Electronic Proceedings in Theoretical Computer Science, EPTCS (Vol. 268, pp. 185–199). Open Publishing Association. https://doi.org/10.4204/EPTCS.268.7

Register to see more suggestions

Mendeley helps you to discover research relevant for your work.

Already have an account?

Save time finding and organizing research with Mendeley

Sign up for free