Publication detail

J-ReCoVer: Java Reducer Commutativity Verifier

CHEN, Y. CHIANG, C. HOLÍK, L. KAO, W. LIN, H. VOJNAR, T. WEN, Y. WU, W.

Original Title

J-ReCoVer: Java Reducer Commutativity Verifier

Type

conference paper

Language

English

Original Abstract

The MapReduce framework for data-parallel computation was first proposed by Google and later implemented in the Apache Hadoop project. Under the MapReduce framework, a reducer computes output values from a sequence of input values transmitted over the network. Due to non-determinism in data transmission, the order in which input values arrive at the reducer is not fixed. In relation to this, the commutativity problem of reducers asks if the output of a reducer is independent of the order of its inputs. Indeed, there are several advantages for a reducer to be commutative, e.g., the verification problem of a MapReduce program can be reduced to the problem of verifying a sequential program. We present the tool J-ReCoVer (Java Reducer Commutativity Verifier) that implements effective heuristics for reducer commutativity analysis. J-ReCoVer is the first tool that is specialised in checking reducer commutativity. Our experimental results over 118 benchmark examples collected from open repositories are very positive; J-ReCoVer correctly handles over 97% of them.

Keywords

verification, reducer, MapReduce, Java, commutativity

Authors

CHEN, Y.; CHIANG, C.; HOLÍK, L.; KAO, W.; LIN, H.; VOJNAR, T.; WEN, Y.; WU, W.

Released

8. 11. 2019

Publisher

Springer International Publishing

Location

Cham

ISBN

978-3-030-34174-9

Book

Proceedings of 17th Asian Symposium on Programming Languages and Systems (APLAS)

Edition

Lecture Notes in Computer Science

Pages from

357

Pages to

366

Pages count

10

URL

BibTex

@inproceedings{BUT161467,
  author="CHEN, Y. and CHIANG, C. and HOLÍK, L. and KAO, W. and LIN, H. and VOJNAR, T. and WEN, Y. and WU, W.",
  title="J-ReCoVer: Java Reducer Commutativity Verifier",
  booktitle="Proceedings of 17th Asian Symposium on Programming Languages and Systems (APLAS)",
  year="2019",
  series="Lecture Notes in Computer Science",
  volume="11893",
  pages="357--366",
  publisher="Springer International Publishing",
  address="Cham",
  doi="10.1007/978-3-030-34175-6\{_}18",
  isbn="978-3-030-34174-9",
  url="https://link.springer.com/chapter/10.1007%2F978-3-030-34175-6_18"
}