The write effects of parallel tasks should be disjoint . DPJizer uses a strategy specific to every parallel construct of DPJ to ensure disjointness of the write effects. For example, DPJizer makes the write effects of different iterations of a foreach loop disjoint by ensuring that the loop index variable appears in every write effect (See issue #11 for more details).