Program: 109100
Project: 109100
Buggy source:
@Override protected void processSnapshot(){
  startIndex*=ssStepWidth;
  stopIndex*=ssStepWidth;
  for (int i=startIndex; i < stopIndex; i+=ssStepWidth) {
    intuple=data[snapshot[i]];
    outtuple=buffer[snapshot[i]];
    outtuple[outindex0]=idindex0[intuple[index0]][stateindex0];
    outtuple[outindex1]=idindex1[intuple[index1]][stateindex1];
    outtuple[outindex2]=idindex2[intuple[index2]][stateindex2];
    outtuple[outindex3]=idindex3[intuple[index3]][stateindex3];
    outtuple[outindex4]=idindex4[intuple[index4]][stateindex4];
    outtuple[outindex5]=idindex5[intuple[index5]][stateindex5];
    outtuple[outindex6]=idindex6[intuple[index6]][stateindex6];
    outtuple[outindex7]=idindex7[intuple[index7]][stateindex7];
    outtuple[outindex8]=idindex8[intuple[index8]][stateindex8];
    outtuple[outindex9]=idindex9[intuple[index9]][stateindex9];
    outtuple[outindex10]=idindex10[intuple[index10]][stateindex10];
    outtuple[outindex11]=idindex11[intuple[index11]][stateindex11];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addSnapshot(outtuple,snapshot[i],snapshot[i + 1],null,null,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addSnapshot(outtuple,snapshot[i],snapshot[i + 1],null,null,snapshot[i + 2]);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addSnapshot(outtuple,snapshot[i],snapshot[i + 1],dictionarySensValue.get(snapshot[i + 3]),dictionarySensFreq.get(snapshot[i + 4]),snapshot[i + 2]);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addSnapshot(outtuple,snapshot[i],snapshot[i + 1],dictionarySensValue.get(snapshot[i + 2]),dictionarySensFreq.get(snapshot[i + 3]),-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}

Fixed version (ground truth):
@Override protected void processSnapshot(){
  startIndex*=ssStepWidth;
  stopIndex*=ssStepWidth;
  for (int i=startIndex; i < stopIndex; i+=ssStepWidth) {
    intuple=data[snapshot[i]];
    outtuple=buffer[snapshot[i]];
    outtuple[outindex0]=idindex0[intuple[index0]][stateindex0];
    outtuple[outindex1]=idindex1[intuple[index1]][stateindex1];
    outtuple[outindex2]=idindex2[intuple[index2]][stateindex2];
    outtuple[outindex3]=idindex3[intuple[index3]][stateindex3];
    outtuple[outindex4]=idindex4[intuple[index4]][stateindex4];
    outtuple[outindex5]=idindex5[intuple[index5]][stateindex5];
    outtuple[outindex6]=idindex6[intuple[index6]][stateindex6];
    outtuple[outindex7]=idindex7[intuple[index7]][stateindex7];
    outtuple[outindex8]=idindex8[intuple[index8]][stateindex8];
    outtuple[outindex9]=idindex9[intuple[index9]][stateindex9];
    outtuple[outindex10]=idindex10[intuple[index10]][stateindex10];
    outtuple[outindex11]=idindex11[intuple[index11]][stateindex11];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addSnapshot(outtuple,snapshot[i],snapshot[i + 1],null,null,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addSnapshot(outtuple,snapshot[i],snapshot[i + 1],null,null,snapshot[i + 2]);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addSnapshot(outtuple,snapshot[i],snapshot[i + 1],dictionarySensValue.get(snapshot[i + 3]),dictionarySensFreq.get(snapshot[i + 4]),snapshot[i + 2]);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addSnapshot(outtuple,snapshot[i],snapshot[i + 1],dictionarySensValue.get(snapshot[i + 2]),dictionarySensFreq.get(snapshot[i + 3]),-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}