nus-yam/ex-repair huggingface dataset:
Program: 109076
Project: 109076
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];
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];
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);
}
}
}
Program: 109077
Project: 109077
Buggy source:
@Override protected void processGroupify(){
  int processed=0;
  while (element != null) {
    intuple=data[element.representant];
    outtuple=buffer[element.representant];
    outtuple[outindex0]=idindex0[intuple[index0]][stateindex0];
    outtuple[outindex1]=idindex1[intuple[index1]][stateindex1];
    outtuple[outindex2]=idindex2[intuple[index2]][stateindex2];
    outtuple[outindex3]=idindex3[intuple[index3]][stateindex3];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addGroupify(outtuple,element.representant,element.count,null,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addGroupify(outtuple,element.representant,element.count,null,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
processed++;
if (processed == numElements) {
return;
}
element=element.nextOrdered;
}
}

Fixed version (ground truth):
@Override protected void processGroupify(){
  int processed=0;
  while (element != null) {
    intuple=data[element.representant];
    outtuple=buffer[element.representant];
    outtuple[outindex0]=idindex0[intuple[index0]][stateindex0];
    outtuple[outindex1]=idindex1[intuple[index1]][stateindex1];
    outtuple[outindex2]=idindex2[intuple[index2]][stateindex2];
    outtuple[outindex3]=idindex3[intuple[index3]][stateindex3];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addGroupify(outtuple,element.representant,element.count,null,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addGroupify(outtuple,element.representant,element.count,null,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
processed++;
if (processed == numElements) {
return;
}
element=element.nextOrdered;
}
}
Program: 109078
Project: 109078
Buggy source:
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}

Fixed version (ground truth):
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}
Program: 109079
Project: 109079
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];
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];
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);
}
}
}
Program: 109080
Project: 109080
Buggy source:
@Override protected void processGroupify(){
  int processed=0;
  while (element != null) {
    intuple=data[element.representant];
    outtuple=buffer[element.representant];
    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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addGroupify(outtuple,element.representant,element.count,null,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addGroupify(outtuple,element.representant,element.count,null,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
processed++;
if (processed == numElements) {
return;
}
element=element.nextOrdered;
}
}

Fixed version (ground truth):
@Override protected void processGroupify(){
  int processed=0;
  while (element != null) {
    intuple=data[element.representant];
    outtuple=buffer[element.representant];
    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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addGroupify(outtuple,element.representant,element.count,null,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addGroupify(outtuple,element.representant,element.count,null,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
processed++;
if (processed == numElements) {
return;
}
element=element.nextOrdered;
}
}
Program: 109081
Project: 109081
Buggy source:
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}

Fixed version (ground truth):
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}
Program: 109082
Project: 109082
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];
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];
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);
}
}
}
Program: 109083
Project: 109083
Buggy source:
@Override protected void processGroupify(){
  int processed=0;
  while (element != null) {
    intuple=data[element.representant];
    outtuple=buffer[element.representant];
    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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addGroupify(outtuple,element.representant,element.count,null,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addGroupify(outtuple,element.representant,element.count,null,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
processed++;
if (processed == numElements) {
return;
}
element=element.nextOrdered;
}
}

Fixed version (ground truth):
@Override protected void processGroupify(){
  int processed=0;
  while (element != null) {
    intuple=data[element.representant];
    outtuple=buffer[element.representant];
    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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addGroupify(outtuple,element.representant,element.count,null,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addGroupify(outtuple,element.representant,element.count,null,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
processed++;
if (processed == numElements) {
return;
}
element=element.nextOrdered;
}
}
Program: 109084
Project: 109084
Buggy source:
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}

Fixed version (ground truth):
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}
Program: 109086
Project: 109086
Buggy source:
@Override protected void processGroupify(){
  int processed=0;
  while (element != null) {
    intuple=data[element.representant];
    outtuple=buffer[element.representant];
    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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addGroupify(outtuple,element.representant,element.count,null,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addGroupify(outtuple,element.representant,element.count,null,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
processed++;
if (processed == numElements) {
return;
}
element=element.nextOrdered;
}
}

Fixed version (ground truth):
@Override protected void processGroupify(){
  int processed=0;
  while (element != null) {
    intuple=data[element.representant];
    outtuple=buffer[element.representant];
    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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addGroupify(outtuple,element.representant,element.count,null,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addGroupify(outtuple,element.representant,element.count,null,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,element.pcount);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addGroupify(outtuple,element.representant,element.count,element.distribution,-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
processed++;
if (processed == numElements) {
return;
}
element=element.nextOrdered;
}
}
Program: 109087
Project: 109087
Buggy source:
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}

Fixed version (ground truth):
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}
Program: 109090
Project: 109090
Buggy source:
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}

Fixed version (ground truth):
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}
Program: 109093
Project: 109093
Buggy source:
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}

Fixed version (ground truth):
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}
Program: 109096
Project: 109096
Buggy source:
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}

Fixed version (ground truth):
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}
Program: 109099
Project: 109099
Buggy source:
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}

Fixed version (ground truth):
@Override protected void processAll(){
  for (int i=startIndex; i < stopIndex; i++) {
    intuple=data[i];
    outtuple=buffer[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];
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      groupify.addAll(outtuple,i,1,-1,-1);
    break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
  groupify.addAll(outtuple,i,1,-1,1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],1);
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
groupify.addAll(outtuple,i,1,sensitiveValues[i],-1);
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
}
}
Program: 109109
Project: 109109
Buggy source:
/** 
 * Creates a generic snapshot for all criteria
 * @param g the g
 * @return the int[]
 */
private final int[] createSnapshot(final IHashGroupify g){
  final int[] data=new int[g.size() * config.getSnapshotLength()];
  int index=0;
  HashGroupifyEntry m=g.getFirstEntry();
  while (m != null) {
    data[index]=m.representant;
    data[index + 1]=m.count;
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
    data[index + 2]=m.pcount;
  break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
data[index + 2]=m.pcount;
Distribution fSet=m.distribution;
fSet.pack();
data[index + 3]=dictionarySensValue.probe(fSet.getPackedElements());
data[index + 4]=dictionarySensFreq.probe(fSet.getPackedFrequency());
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
fSet=m.distribution;
fSet.pack();
data[index + 2]=dictionarySensValue.probe(fSet.getPackedElements());
data[index + 3]=dictionarySensFreq.probe(fSet.getPackedFrequency());
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
index+=config.getSnapshotLength();
m=m.nextOrdered;
}
return data;
}

Fixed version (ground truth):
/** 
 * Creates a generic snapshot for all criteria
 * @param g the g
 * @return the int[]
 */
private final int[] createSnapshot(final IHashGroupify g){
  final int[] data=new int[g.size() * config.getSnapshotLength()];
  int index=0;
  HashGroupifyEntry m=g.getFirstEntry();
  while (m != null) {
    data[index]=m.representant;
    data[index + 1]=m.count;
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
    data[index + 2]=m.pcount;
  break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
data[index + 2]=m.pcount;
Distribution fSet=m.distribution;
fSet.pack();
data[index + 3]=dictionarySensValue.probe(fSet.getPackedElements());
data[index + 4]=dictionarySensFreq.probe(fSet.getPackedFrequency());
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
fSet=m.distribution;
fSet.pack();
data[index + 2]=dictionarySensValue.probe(fSet.getPackedElements());
data[index + 3]=dictionarySensFreq.probe(fSet.getPackedFrequency());
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
index+=config.getSnapshotLength();
m=m.nextOrdered;
}
return data;
}
Program: 109110
Project: 109110
Buggy source:
/** 
 * Creates a generic snapshot for all criteria
 * @param g the g
 * @return the int[]
 */
private final int[] createSnapshot(final IHashGroupify g){
  final int[] data=new int[g.size() * config.getSnapshotLength()];
  int index=0;
  HashGroupifyEntry m=g.getFirstEntry();
  while (m != null) {
    data[index]=m.representant;
    data[index + 1]=m.count;
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
    data[index + 2]=m.pcount;
  break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
data[index + 2]=m.pcount;
Distribution fSet=m.distribution;
fSet.pack();
data[index + 3]=dictionarySensValue.probe(fSet.getPackedElements());
data[index + 4]=dictionarySensFreq.probe(fSet.getPackedFrequency());
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
fSet=m.distribution;
fSet.pack();
data[index + 2]=dictionarySensValue.probe(fSet.getPackedElements());
data[index + 3]=dictionarySensFreq.probe(fSet.getPackedFrequency());
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
index+=config.getSnapshotLength();
m=m.nextOrdered;
}
return data;
}

Fixed version (ground truth):
/** 
 * Creates a generic snapshot for all criteria
 * @param g the g
 * @return the int[]
 */
private final int[] createSnapshot(final IHashGroupify g){
  final int[] data=new int[g.size() * config.getSnapshotLength()];
  int index=0;
  HashGroupifyEntry m=g.getFirstEntry();
  while (m != null) {
    data[index]=m.representant;
    data[index + 1]=m.count;
switch (requirements) {
case ARXConfiguration.REQUIREMENT_COUNTER:
      break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER:
    data[index + 2]=m.pcount;
  break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_SECONDARY_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
data[index + 2]=m.pcount;
Distribution fSet=m.distribution;
fSet.pack();
data[index + 3]=dictionarySensValue.probe(fSet.getPackedElements());
data[index + 4]=dictionarySensFreq.probe(fSet.getPackedFrequency());
break;
case ARXConfiguration.REQUIREMENT_COUNTER | ARXConfiguration.REQUIREMENT_DISTRIBUTION:
case ARXConfiguration.REQUIREMENT_DISTRIBUTION:
fSet=m.distribution;
fSet.pack();
data[index + 2]=dictionarySensValue.probe(fSet.getPackedElements());
data[index + 3]=dictionarySensFreq.probe(fSet.getPackedFrequency());
break;
default :
throw new RuntimeException("String_Node_Str" + requirements);
}
index+=config.getSnapshotLength();
m=m.nextOrdered;
}
return data;
}