Program: 55072
Project: 55072
Buggy source:
protected void resetAllInputs() throws Exception {
  for (int i=0; i < this.localStrategies.length; i++) {
    if (this.localStrategies[i] != null) {
      this.localStrategies[i].close();
      this.localStrategies[i]=null;
    }
  }
  final MemoryManager memMan=getMemoryManager();
  final IOManager ioMan=getIOManager();
  for (int i=0; i < this.inputs.length; i++) {
    if (this.excludeFromReset[i]) {
      if (this.tempBarriers[i] != null) {
        this.tempBarriers[i].close();
        this.tempBarriers[i]=null;
      }
 else       if (this.resettableInputs[i] != null) {
        this.resettableInputs[i].close();
        this.resettableInputs[i]=null;
      }
    }
 else {
      this.inputs[i]=null;
      if (this.inputIsCached[i]) {
        if (this.tempBarriers[i] != null) {
          this.inputs[i]=this.tempBarriers[i].getIterator();
        }
 else         if (this.resettableInputs[i] != null) {
          this.resettableInputs[i].reset();
          this.inputs[i]=this.resettableInputs[i];
        }
 else {
          throw new RuntimeException("String_Node_Str");
        }
      }
 else {
        if (this.tempBarriers[i] != null) {
          this.tempBarriers[i].close();
        }
        initInputLocalStrategy(i);
        if (this.inputIsAsyncMaterialized[i]) {
          final int pages=this.materializationMemory[i];
          @SuppressWarnings({"String_Node_Str","String_Node_Str"}) TempBarrier<?> barrier=new TempBarrier(this,getInput(i),this.inputSerializers[i],memMan,ioMan,pages);
          barrier.startReading();
          this.tempBarriers[i]=barrier;
          this.inputs[i]=null;
        }
      }
    }
  }
}

Fixed version (ground truth):
protected void resetAllInputs() throws Exception {
  for (int i=0; i < this.localStrategies.length; i++) {
    if (this.localStrategies[i] != null) {
      this.localStrategies[i].close();
      this.localStrategies[i]=null;
    }
  }
  final MemoryManager memMan=getMemoryManager();
  final IOManager ioMan=getIOManager();
  for (int i=0; i < this.inputs.length; i++) {
    if (this.excludeFromReset[i]) {
      if (this.tempBarriers[i] != null) {
        this.tempBarriers[i].close();
        this.tempBarriers[i]=null;
      }
 else       if (this.resettableInputs[i] != null) {
        this.resettableInputs[i].close();
        this.resettableInputs[i]=null;
      }
    }
 else {
      this.inputs[i]=null;
      if (this.inputIsCached[i]) {
        if (this.tempBarriers[i] != null) {
          this.inputs[i]=this.tempBarriers[i].getIterator();
        }
 else         if (this.resettableInputs[i] != null) {
          this.resettableInputs[i].consumeAndCacheRemainingData();
          this.resettableInputs[i].reset();
          this.inputs[i]=this.resettableInputs[i];
        }
 else {
          throw new RuntimeException("String_Node_Str");
        }
      }
 else {
        if (this.tempBarriers[i] != null) {
          this.tempBarriers[i].close();
        }
        initInputLocalStrategy(i);
        if (this.inputIsAsyncMaterialized[i]) {
          final int pages=this.materializationMemory[i];
          @SuppressWarnings({"String_Node_Str","String_Node_Str"}) TempBarrier<?> barrier=new TempBarrier(this,getInput(i),this.inputSerializers[i],memMan,ioMan,pages);
          barrier.startReading();
          this.tempBarriers[i]=barrier;
          this.inputs[i]=null;
        }
      }
    }
  }
}