Program: 61487
Project: 61487
Buggy source:
@Override public void loadExtensionPoints() throws Exception {
  super.loadExtensionPoints();
  List<AbstractFixSpaceProcessor<?>> ingredientProcessors=new ArrayList<AbstractFixSpaceProcessor<?>>();
  ExtensionPoints epoint=ExtensionPoints.INGREDIENT_PROCESSOR;
  if (!ConfigurationProperties.hasProperty(epoint.identifier)) {
    ingredientProcessors.add(new SingleStatementFixSpaceProcessor());
  }
 else {
    String ingrProcessors=ConfigurationProperties.getProperty(epoint.identifier);
    String[] in=ingrProcessors.split(File.pathSeparator);
    for (    String processor : in) {
      AbstractFixSpaceProcessor proc_i=(AbstractFixSpaceProcessor)PlugInLoader.loadPlugin(processor,epoint._class);
      ingredientProcessors.add(proc_i);
    }
  }
  OperatorSpace jpgoperatorSpace=PlugInLoader.loadOperatorSpace();
  if (jpgoperatorSpace == null)   jpgoperatorSpace=new jGenProgSpace();
  this.setOperatorSpace(jpgoperatorSpace);
  String opStrategyClassName=ConfigurationProperties.properties.getProperty("String_Node_Str");
  if (opStrategyClassName != null) {
    OperatorSelectionStrategy strategy=createOperationSelectionStrategy(opStrategyClassName,jpgoperatorSpace);
    this.setOperatorSelectionStrategy(strategy);
  }
 else {
    this.setOperatorSelectionStrategy(new UniformRandomRepairOperatorSpace(jpgoperatorSpace));
  }
  IngredientSpace ingredientspace=PlugInLoader.loadIngredientSpace(ingredientProcessors);
  IngredientSearchStrategy ingStrategy=(IngredientSearchStrategy)PlugInLoader.loadPlugin(ExtensionPoints.INGREDIENT_SEARCH_STRATEGY,new Class[]{IngredientSpace.class},new Object[]{ingredientspace});
  if (ingStrategy == null) {
    ingStrategy=new EfficientIngredientStrategy(ingredientspace);
  }
  this.setIngredientStrategy(ingStrategy);
  this.setVariantFactory(new ProgramVariantFactory(ingredientProcessors));
  ExtensionPoints ep=ExtensionPoints.INGREDIENT_TRANSFORM_STRATEGY;
  String ingredientTransformationStrategyClassName=ConfigurationProperties.properties.getProperty(ep.identifier);
  if (ingredientTransformationStrategyClassName == null) {
    this.ingredientTransformationStrategy=new DefaultIngredientTransformation();
  }
 else {
    PlugInLoader.loadPlugin(ExtensionPoints.INGREDIENT_TRANSFORM_STRATEGY);
  }
}

Fixed version (ground truth):
@Override public void loadExtensionPoints() throws Exception {
  super.loadExtensionPoints();
  List<AbstractFixSpaceProcessor<?>> ingredientProcessors=new ArrayList<AbstractFixSpaceProcessor<?>>();
  ExtensionPoints epoint=ExtensionPoints.INGREDIENT_PROCESSOR;
  if (!ConfigurationProperties.hasProperty(epoint.identifier)) {
    ingredientProcessors.add(new SingleStatementFixSpaceProcessor());
  }
 else {
    String ingrProcessors=ConfigurationProperties.getProperty(epoint.identifier);
    String[] in=ingrProcessors.split(File.pathSeparator);
    for (    String processor : in) {
      AbstractFixSpaceProcessor proc_i=(AbstractFixSpaceProcessor)PlugInLoader.loadPlugin(processor,epoint._class);
      ingredientProcessors.add(proc_i);
    }
  }
  OperatorSpace jpgoperatorSpace=PlugInLoader.loadOperatorSpace();
  if (jpgoperatorSpace == null)   jpgoperatorSpace=new jGenProgSpace();
  this.setOperatorSpace(jpgoperatorSpace);
  String opStrategyClassName=ConfigurationProperties.properties.getProperty("String_Node_Str");
  if (opStrategyClassName != null) {
    OperatorSelectionStrategy strategy=createOperationSelectionStrategy(opStrategyClassName,jpgoperatorSpace);
    this.setOperatorSelectionStrategy(strategy);
  }
 else {
    this.setOperatorSelectionStrategy(new UniformRandomRepairOperatorSpace(jpgoperatorSpace));
  }
  IngredientSpace ingredientspace=PlugInLoader.loadIngredientSpace(ingredientProcessors);
  IngredientSearchStrategy ingStrategy=(IngredientSearchStrategy)PlugInLoader.loadPlugin(ExtensionPoints.INGREDIENT_SEARCH_STRATEGY,new Class[]{IngredientSpace.class},new Object[]{ingredientspace});
  if (ingStrategy == null) {
    ingStrategy=new EfficientIngredientStrategy(ingredientspace);
  }
  this.setIngredientStrategy(ingStrategy);
  this.setVariantFactory(new ProgramVariantFactory(ingredientProcessors));
  ExtensionPoints ep=ExtensionPoints.INGREDIENT_TRANSFORM_STRATEGY;
  String ingredientTransformationStrategyClassName=ConfigurationProperties.properties.getProperty(ep.identifier);
  if (ingredientTransformationStrategyClassName == null) {
    this.ingredientTransformationStrategy=new DefaultIngredientTransformation();
  }
 else {
    this.ingredientTransformationStrategy=(IngredientTransformationStrategy)PlugInLoader.loadPlugin(ExtensionPoints.INGREDIENT_TRANSFORM_STRATEGY);
  }
}