Title
Proving Equivalence Between Imperative and MapReduce Implementations Using Program Transformations.
Abstract
Distributed programs are often formulated in popular functional frameworks like MapReduce, Spark and Thrill, but writing efficient 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.
Year
DOI
Venue
2018
10.4204/EPTCS.268.7
ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE
Field
DocType
Volume
Programming language,Spark (mathematics),Computer science,Correctness,Pagerank algorithm,Theoretical computer science,Implementation,Equivalence (measure theory)
Journal
abs/1803.10328
Issue
ISSN
Citations 
268
2075-2180
0
PageRank 
References 
Authors
0.34
5
6
Name
Order
Citations
PageRank
Bernhard Beckert186286.50
Timo Bingmann2245.83
Moritz Kiefer331.40
peter sanders436129.35
Mattias Ulbrich518317.83
Alexander Weigl6114.22