Program: 5282
Project: 5282
Buggy source:
private Ep createParamByType(Element element) throws XMLException {
  String att_name, att_var;
  NCLAttributes att=NCLAttributes.DEFAULT;
  att_name=NCLElementAttributes.NAME.toString();
  if ((att_var=element.getAttribute(att_name)).isEmpty())   throw new NCLParsingException("String_Node_Str" + att_name + "String_Node_Str");
  for (  NCLAttributes a : NCLAttributes.values()) {
    if (a.toString().equals(att_var))     att=a;
  }
switch (att) {
case TOP:
    return createDoubleDescriptorParam();
case LEFT:
  return createDoubleDescriptorParam();
case BOTTOM:
return createDoubleDescriptorParam();
case RIGHT:
return createDoubleDescriptorParam();
case WIDTH:
return createDoubleDescriptorParam();
case HEIGHT:
return createDoubleDescriptorParam();
case LOCATION:
return createStringDescriptorParam();
case SIZE:
return createStringDescriptorParam();
case BOUNDS:
return createStringDescriptorParam();
case BACKGROUND:
return createColorDescriptorParam();
case VISIBLE:
return createBooleanDescriptorParam();
case TRANSPARENCY:
return createPercentDescriptorParam();
case FIT:
return createFitDescriptorParam();
case SCROLL:
return createScrollDescriptorParam();
case STYLE:
return createStringDescriptorParam();
case SOUND_LEVEL:
return createPercentDescriptorParam();
case BALANCE_LEVEL:
return createPercentDescriptorParam();
case TREBLE_LEVEL:
return createPercentDescriptorParam();
case BASS_LEVEL:
return createPercentDescriptorParam();
case ZINDEX:
return createDoubleDescriptorParam();
case FONT_FAMILY:
return createStringDescriptorParam();
case FONT_SIZE:
return createDoubleDescriptorParam();
case FONT_VARIANT:
return createFontVariantDescriptorParam();
case FONT_WEIGHT:
return createFontWeightDescriptorParam();
case FONT_COLOR:
return createColorDescriptorParam();
case REUSE_PLAYER:
return createBooleanDescriptorParam();
case PLAYER_LIFE:
return createPlayerLifeDescriptorParam();
default :
return createStringDescriptorParam();
}
}

Fixed version (ground truth):
private Ep createParamByType(Element element) throws XMLException {
  String att_name, att_var;
  NCLAttributes att=NCLAttributes.DEFAULT;
  att_name=NCLElementAttributes.NAME.toString();
  if ((att_var=element.getAttribute(att_name)).isEmpty())   throw new NCLParsingException("String_Node_Str" + att_name + "String_Node_Str");
  for (  NCLAttributes a : NCLAttributes.values()) {
    if (a.toString().equals(att_var))     att=a;
  }
switch (att) {
case TOP:
    return createRelativeDescriptorParam();
case LEFT:
  return createRelativeDescriptorParam();
case BOTTOM:
return createRelativeDescriptorParam();
case RIGHT:
return createRelativeDescriptorParam();
case WIDTH:
return createRelativeDescriptorParam();
case HEIGHT:
return createRelativeDescriptorParam();
case LOCATION:
return createStringDescriptorParam();
case SIZE:
return createStringDescriptorParam();
case BOUNDS:
return createStringDescriptorParam();
case BACKGROUND:
return createTranspColorDescriptorParam();
case VISIBLE:
return createBooleanDescriptorParam();
case TRANSPARENCY:
return createPercentDescriptorParam();
case FIT:
return createFitDescriptorParam();
case SCROLL:
return createScrollDescriptorParam();
case STYLE:
return createStringDescriptorParam();
case SOUND_LEVEL:
return createPercentDescriptorParam();
case BALANCE_LEVEL:
return createPercentDescriptorParam();
case TREBLE_LEVEL:
return createPercentDescriptorParam();
case BASS_LEVEL:
return createPercentDescriptorParam();
case ZINDEX:
return createIntegerDescriptorParam();
case FONT_FAMILY:
return createStringDescriptorParam();
case FONT_SIZE:
return createDoubleDescriptorParam();
case FONT_VARIANT:
return createFontVariantDescriptorParam();
case FONT_WEIGHT:
return createFontWeightDescriptorParam();
case FONT_COLOR:
return createColorDescriptorParam();
case REUSE_PLAYER:
return createBooleanDescriptorParam();
case PLAYER_LIFE:
return createPlayerLifeDescriptorParam();
default :
return createStringDescriptorParam();
}
}