Program: 61990
Project: 61990
Buggy source:
public String getParams(ConstantPool constants,List<String> fullyQualifiedNames){
  StringBuilder s=new StringBuilder();
  for (int i=0; i < definition.operands.length; i++) {
switch (definition.operands[i]) {
case AVM2Code.DAT_MULTINAME_INDEX:
      if (operands[i] == 0) {
        s.append("String_Node_Str");
      }
 else {
        s.append("String_Node_Str");
        s.append(constants.constant_multiname[operands[i]].toString(constants,fullyQualifiedNames));
      }
    break;
case AVM2Code.DAT_STRING_INDEX:
  s.append("String_Node_Str");
s.append(Helper.escapeString(constants.constant_string[operands[i]]));
s.append("String_Node_Str");
break;
case AVM2Code.DAT_INT_INDEX:
s.append("String_Node_Str");
s.append(constants.constant_int[operands[i]]);
break;
case AVM2Code.DAT_UINT_INDEX:
s.append("String_Node_Str");
s.append(constants.constant_uint[operands[i]]);
break;
case AVM2Code.DAT_DOUBLE_INDEX:
s.append("String_Node_Str");
s.append(constants.constant_double[operands[i]]);
break;
case AVM2Code.DAT_OFFSET:
s.append("String_Node_Str");
s.append("String_Node_Str");
s.append(Helper.formatAddress(offset + operands[i] + getBytes().length));
break;
case AVM2Code.DAT_CASE_BASEOFFSET:
s.append("String_Node_Str");
s.append("String_Node_Str");
s.append(Helper.formatAddress(offset + operands[i]));
break;
case AVM2Code.OPT_CASE_OFFSETS:
s.append("String_Node_Str");
s.append(operands[i]);
for (int j=i + 1; j < operands.length; j++) {
s.append("String_Node_Str");
s.append("String_Node_Str");
s.append(Helper.formatAddress(offset + operands[j]));
}
break;
default :
s.append("String_Node_Str");
s.append(operands[i]);
}
}
return s.toString();
}

Fixed version (ground truth):
public String getParams(ConstantPool constants,List<String> fullyQualifiedNames){
  StringBuilder s=new StringBuilder();
  for (int i=0; i < definition.operands.length; i++) {
switch (definition.operands[i]) {
case AVM2Code.DAT_MULTINAME_INDEX:
      if (operands[i] == 0) {
        s.append("String_Node_Str");
      }
 else {
        s.append("String_Node_Str");
        s.append(constants.constant_multiname[operands[i]].toString(constants,fullyQualifiedNames));
      }
    break;
case AVM2Code.DAT_STRING_INDEX:
  if (operands[i] == 0) {
    s.append("String_Node_Str");
  }
 else {
    s.append("String_Node_Str");
    s.append(Helper.escapeString(constants.constant_string[operands[i]]));
    s.append("String_Node_Str");
  }
break;
case AVM2Code.DAT_INT_INDEX:
if (operands[i] == 0) {
s.append("String_Node_Str");
}
 else {
s.append("String_Node_Str");
s.append(constants.constant_int[operands[i]]);
}
break;
case AVM2Code.DAT_UINT_INDEX:
if (operands[i] == 0) {
s.append("String_Node_Str");
}
 else {
s.append("String_Node_Str");
s.append(constants.constant_uint[operands[i]]);
}
break;
case AVM2Code.DAT_DOUBLE_INDEX:
if (operands[i] == 0) {
s.append("String_Node_Str");
}
 else {
s.append("String_Node_Str");
s.append(constants.constant_double[operands[i]]);
}
break;
case AVM2Code.DAT_OFFSET:
s.append("String_Node_Str");
s.append("String_Node_Str");
s.append(Helper.formatAddress(offset + operands[i] + getBytes().length));
break;
case AVM2Code.DAT_CASE_BASEOFFSET:
s.append("String_Node_Str");
s.append("String_Node_Str");
s.append(Helper.formatAddress(offset + operands[i]));
break;
case AVM2Code.OPT_CASE_OFFSETS:
s.append("String_Node_Str");
s.append(operands[i]);
for (int j=i + 1; j < operands.length; j++) {
s.append("String_Node_Str");
s.append("String_Node_Str");
s.append(Helper.formatAddress(offset + operands[j]));
}
break;
default :
s.append("String_Node_Str");
s.append(operands[i]);
}
}
return s.toString();
}