MapReduce program synthesis