nus-yam/ex-repair huggingface dataset:
Program: 61399
Project: 61399
Buggy source:
@Override public void delete(String name){
  Entitlement entitlement=find(name);
  if (entitlement == null)   return;
  Query query=entityManager.createQuery("String_Node_Str" + "String_Node_Str");
  query.setParameter("String_Node_Str",entitlement);
  List<SyncopeRole> roles=query.getResultList();
  for (  SyncopeRole role : roles) {
    role.removeEntitlement(entitlement);
    syncopeRoleDAO.save(role);
  }
  entityManager.remove(find(name));
}

Fixed version (ground truth):
@Override public void delete(String name){
  Entitlement entitlement=find(name);
  if (entitlement == null) {
    return;
  }
  Set<SyncopeRole> roles=entitlement.getRoles();
  for (  SyncopeRole role : roles) {
    role.removeEntitlement(entitlement);
    syncopeRoleDAO.save(role);
  }
  entityManager.remove(find(name));
}
Program: 61400
Project: 61400
Buggy source:
public List<CtClass> reificateEvoSuiteTest(String evoTestpath,String[] classpath){
  logger.debug("String_Node_Str" + evoTestpath + "String_Node_Str"+ Arrays.toString(classpath));
  logger.debug("String_Node_Str" + Arrays.toString(new File(evoTestpath).listFiles()));
  MutationSupporter mutatorSupporter=MutationSupporter.currentSupporter;
  String codeLocation=evoTestpath;
  try {
    mutatorSupporter.buildModel(codeLocation,classpath);
  }
 catch (  Exception e) {
    e.printStackTrace();
    logger.error(e.getMessage());
    mutatorSupporter.getFactory().getEnvironment().setComplianceLevel(ConfigurationProperties.getPropertyInt("String_Node_Str"));
    mutatorSupporter.buildModel(codeLocation,classpath);
  }
  List<CtType<?>> allTypes=mutatorSupporter.getFactory().Type().getAll();
  List<CtClass> ESTestClasses=new ArrayList<>();
  for (  CtType<?> ctType : allTypes) {
    if (ctType.getSimpleName().endsWith(EVOSUITE_SUFFIX) || ctType.getSimpleName().endsWith(EVOSUITE_scaffolding_SUFFIX)) {
      ESTestClasses.add((CtClass)ctType);
    }
  }
  logger.debug("String_Node_Str" + ESTestClasses.size());
  return ESTestClasses;
}

Fixed version (ground truth):
public List<CtClass> reificateEvoSuiteTest(String evoTestpath,String[] classpath){
  logger.debug("String_Node_Str" + evoTestpath + "String_Node_Str"+ Arrays.toString(classpath));
  logger.debug("String_Node_Str" + Arrays.toString(new File(evoTestpath).listFiles()));
  MutationSupporter mutatorSupporter=MutationSupporter.currentSupporter;
  String codeLocation=evoTestpath;
  try {
    mutatorSupporter.buildModel(codeLocation,classpath);
  }
 catch (  Exception e) {
    e.printStackTrace();
    logger.error(e.getMessage());
    mutatorSupporter.getFactory().getModel().setBuildModelIsFinished(false);
    mutatorSupporter.getFactory().getEnvironment().setComplianceLevel(ConfigurationProperties.getPropertyInt("String_Node_Str"));
    mutatorSupporter.buildModel(codeLocation,classpath);
  }
  List<CtType<?>> allTypes=mutatorSupporter.getFactory().Type().getAll();
  List<CtClass> ESTestClasses=new ArrayList<>();
  for (  CtType<?> ctType : allTypes) {
    if (ctType.getSimpleName().endsWith(EVOSUITE_SUFFIX) || ctType.getSimpleName().endsWith(EVOSUITE_scaffolding_SUFFIX)) {
      ESTestClasses.add((CtClass)ctType);
    }
  }
  logger.debug("String_Node_Str" + ESTestClasses.size());
  return ESTestClasses;
}
Program: 61401
Project: 61401
Buggy source:
/** 
 * Compile the original code
 * @param properties
 */
protected void compileProject(ProjectConfiguration properties){
  final Launcher launcher=new Launcher();
  for (  String s : properties.getOriginalDirSrc())   launcher.addInputResource(s);
  for (  String s : properties.getTestDirSrc())   launcher.addInputResource(s);
  String binoutput=properties.getWorkingDirForBytecode() + File.separator + (ProgramVariant.DEFAULT_ORIGINAL_VARIANT);
  launcher.setBinaryOutputDirectory(binoutput);
  log.debug("String_Node_Str" + launcher.getModelBuilder().getInputSources() + "String_Node_Str"+ launcher.getModelBuilder().getBinaryOutputDirectory());
  launcher.getEnvironment().setPreserveLineNumbers(ConfigurationProperties.getPropertyBool("String_Node_Str"));
  launcher.getEnvironment().setComplianceLevel(ConfigurationProperties.getPropertyInt("String_Node_Str"));
  launcher.getEnvironment().setShouldCompile(true);
  launcher.getEnvironment().setSourceClasspath(properties.getDependenciesString().split(File.pathSeparator));
  launcher.buildModel();
  launcher.getModelBuilder().generateProcessedSourceFiles(OutputType.COMPILATION_UNITS);
  launcher.getModelBuilder().compile(InputType.CTTYPES);
}

Fixed version (ground truth):
/** 
 * Compile the original code
 * @param properties
 */
protected void compileProject(ProjectConfiguration properties){
  final Launcher launcher=new Launcher();
  for (  String path_src : properties.getOriginalDirSrc()) {
    log.debug("String_Node_Str" + path_src);
    launcher.addInputResource(path_src);
  }
  for (  String path_test : properties.getTestDirSrc()) {
    log.debug("String_Node_Str" + path_test);
    launcher.addInputResource(path_test);
  }
  String binoutput=properties.getWorkingDirForBytecode() + File.separator + (ProgramVariant.DEFAULT_ORIGINAL_VARIANT);
  launcher.setBinaryOutputDirectory(binoutput);
  log.info("String_Node_Str" + launcher.getModelBuilder().getInputSources() + "String_Node_Str"+ launcher.getModelBuilder().getBinaryOutputDirectory());
  launcher.getEnvironment().setPreserveLineNumbers(ConfigurationProperties.getPropertyBool("String_Node_Str"));
  launcher.getEnvironment().setComplianceLevel(ConfigurationProperties.getPropertyInt("String_Node_Str"));
  launcher.getEnvironment().setShouldCompile(true);
  launcher.getEnvironment().setSourceClasspath(properties.getDependenciesString().split(File.pathSeparator));
  launcher.buildModel();
  launcher.getModelBuilder().generateProcessedSourceFiles(OutputType.COMPILATION_UNITS);
  launcher.getModelBuilder().compile(InputType.FILES);
}
Program: 61403
Project: 61403
Buggy source:
public void buildModel(String srcPathToBuild,String bytecodePathToBuild,String[] classpath){
  JDTBasedSpoonCompiler jdtSpoonModelBuilder=null;
  logger.info("String_Node_Str" + srcPathToBuild + "String_Node_Str"+ factory.getEnvironment().getComplianceLevel());
  factory.getEnvironment().setPreserveLineNumbers(ConfigurationProperties.getPropertyBool("String_Node_Str"));
  jdtSpoonModelBuilder=new JDTBasedSpoonCompiler(factory);
  String[] sources=srcPathToBuild.split(File.pathSeparator);
  for (  String src : sources) {
    if (!src.trim().isEmpty())     jdtSpoonModelBuilder.addInputSource(new File(src));
  }
  logger.info("String_Node_Str" + Arrays.toString(classpath));
  jdtSpoonModelBuilder.setSourceClasspath(classpath);
  jdtSpoonModelBuilder.build();
  if (ConfigurationProperties.getPropertyBool("String_Node_Str")) {
    jdtSpoonModelBuilder.setSourceOutputDirectory(new File(srcPathToBuild));
    jdtSpoonModelBuilder.generateProcessedSourceFiles(OutputType.COMPILATION_UNITS);
    jdtSpoonModelBuilder.setBinaryOutputDirectory(new File(bytecodePathToBuild));
    jdtSpoonModelBuilder.compile(InputType.CTTYPES);
  }
}

Fixed version (ground truth):
public void buildModel(String srcPathToBuild,String bytecodePathToBuild,String[] classpath){
  JDTBasedSpoonCompiler jdtSpoonModelBuilder=null;
  logger.info("String_Node_Str" + srcPathToBuild + "String_Node_Str"+ factory.getEnvironment().getComplianceLevel());
  factory.getEnvironment().setPreserveLineNumbers(ConfigurationProperties.getPropertyBool("String_Node_Str"));
  jdtSpoonModelBuilder=new JDTBasedSpoonCompiler(factory);
  String[] sources=srcPathToBuild.split(File.pathSeparator);
  for (  String src : sources) {
    if (!src.trim().isEmpty())     jdtSpoonModelBuilder.addInputSource(new File(src));
  }
  logger.info("String_Node_Str" + Arrays.toString(classpath));
  jdtSpoonModelBuilder.setSourceClasspath(classpath);
  jdtSpoonModelBuilder.build();
  if (ConfigurationProperties.getPropertyBool("String_Node_Str")) {
    factory.getEnvironment().setSourceOutputDirectory(new File(srcPathToBuild));
    jdtSpoonModelBuilder.generateProcessedSourceFiles(OutputType.COMPILATION_UNITS);
    jdtSpoonModelBuilder.setBinaryOutputDirectory(new File(bytecodePathToBuild));
    jdtSpoonModelBuilder.compile(InputType.CTTYPES);
  }
}
Program: 61404
Project: 61404
Buggy source:
@Override public List<Ingredient> transform(ModificationPoint modificationPoint,Ingredient ingredient){
  ExecutionContext collectedValues=contextColector.collectValues(AstorMain.projectFacade,modificationPoint);
  CtType expectedType=null;
  if (modificationPoint.getCodeElement() instanceof CtExpression) {
    CtExpression exp=(CtExpression)modificationPoint.getCodeElement();
    expectedType=exp.getType().getTypeDeclaration();
  }
  List<CtElement> synthesizedElements=this.synthesizer.executeSynthesis(modificationPoint,modificationPoint.getCodeElement(),expectedType,modificationPoint.getContextOfModificationPoint(),collectedValues);
  List<Ingredient> ingredients=new ArrayList<>();
  for (  CtElement ctElement : synthesizedElements) {
    ingredients.add(new Ingredient(ctElement));
  }
  return ingredients;
}

Fixed version (ground truth):
@Override public List<Ingredient> transform(ModificationPoint modificationPoint,Ingredient ingredient){
  ExecutionContext collectedValues=getContext(modificationPoint);
  CtType expectedType=null;
  if (modificationPoint.getCodeElement() instanceof CtExpression) {
    CtExpression exp=(CtExpression)modificationPoint.getCodeElement();
    expectedType=exp.getType().getTypeDeclaration();
  }
  List<CtElement> synthesizedElements=this.synthesizer.executeSynthesis(modificationPoint,modificationPoint.getCodeElement(),expectedType,modificationPoint.getContextOfModificationPoint(),collectedValues);
  List<Ingredient> ingredients=new ArrayList<>();
  for (  CtElement ctElement : synthesizedElements) {
    ingredients.add(new Ingredient(ctElement));
  }
  return ingredients;
}
Program: 61405
Project: 61405
Buggy source:
public Candidates combine(Candidates candidates,Object angelicValue,long maxTime,NopolContext nopolContext){
  this.nopolContext=nopolContext;
  max_number_combinations=ConfigurationProperties.getPropertyInt("String_Node_Str");
  maxDepth=nopolContext.getSynthesisDepth();
  this.maxTime=maxTime;
  this.startTime=System.currentTimeMillis();
  executionTime=System.currentTimeMillis() - startTime;
  logger.debug("String_Node_Str" + candidates.size() + "String_Node_Str");
  Candidates result=new Candidates();
  result.addAll(candidates);
  List<Expression> lastTurn=new ArrayList<>();
  lastTurn.addAll(candidates);
  executionTime=System.currentTimeMillis() - startTime;
  List<Operator> operators=new ArrayList<>();
  operators.addAll(Arrays.asList(UnaryOperator.values()));
  operators.addAll(Arrays.asList(BinaryOperator.values()));
  for (int i=0; i < maxDepth - 1 && !stop && executionTime <= maxTime; i++) {
    System.out.println("String_Node_Str" + i);
    lastTurn.addAll(newCombiner(lastTurn,operators,i == maxDepth - 2 ? angelicValue : null));
    executionTime=System.currentTimeMillis() - startTime;
  }
  result.addAll(lastTurn);
  logger.debug("String_Node_Str" + lastTurn.size() + "String_Node_Str");
  return result;
}

Fixed version (ground truth):
public Candidates combine(Candidates candidates,Object angelicValue,long maxTime,NopolContext nopolContext){
  this.nopolContext=nopolContext;
  max_number_combinations=ConfigurationProperties.getPropertyInt("String_Node_Str");
  maxDepth=nopolContext.getSynthesisDepth();
  this.maxTime=maxTime;
  this.startTime=System.currentTimeMillis();
  executionTime=System.currentTimeMillis() - startTime;
  logger.debug("String_Node_Str" + candidates.size() + "String_Node_Str");
  Candidates result=new Candidates();
  result.addAll(candidates);
  List<Expression> lastTurn=new ArrayList<>();
  lastTurn.addAll(candidates);
  executionTime=System.currentTimeMillis() - startTime;
  List<Operator> operators=new ArrayList<>();
  operators.addAll(Arrays.asList(UnaryOperator.values()));
  operators.addAll(Arrays.asList(BinaryOperator.values()));
  for (int i=0; i < maxDepth - 1 && !stop; i++) {
    System.out.println("String_Node_Str" + i);
    List<Expression> expr=newCombiner(lastTurn,operators,i == maxDepth - 2 ? angelicValue : null);
    lastTurn.addAll(expr);
    executionTime=System.currentTimeMillis() - startTime;
  }
  logger.debug("String_Node_Str" + lastTurn.size() + "String_Node_Str");
  return result;
}
Program: 61408
Project: 61408
Buggy source:
@Override public boolean check(Expression expression){
  if (checkExpression(key,iterationNumber,expression)) {
    return true;
  }
  return false;
}

Fixed version (ground truth):
@Override public boolean check(Expression expression){
  if (checkExpression(key,iterationNumber,expression)) {
    result.add(expression);
    return true;
  }
  return false;
}
Program: 61413
Project: 61413
Buggy source:
@Test public void testBT_Math85_1() throws Exception {
  int maxSolutions=4;
  CommandSummary command=MathCommandsTests.getMath85Command();
  command.command.put("String_Node_Str","String_Node_Str");
  command.command.put("String_Node_Str",EvalTOSBTApproach.class.getCanonicalName());
  command.command.put("String_Node_Str","String_Node_Str");
  command.command.put("String_Node_Str","String_Node_Str");
  command.command.put("String_Node_Str","String_Node_Str");
  command.command.put("String_Node_Str","String_Node_Str");
  command.command.put("String_Node_Str","String_Node_Str");
  command.command.put("String_Node_Str","String_Node_Str" + maxSolutions);
  AstorMain main=new AstorMain();
  main.execute(command.flat());
  assertTrue(main.getEngine() instanceof EvalTOSBTApproach);
  EvalTOSBTApproach approach=(EvalTOSBTApproach)main.getEngine();
  ModificationPoint mp198=approach.getVariants().get(0).getModificationPoints().stream().filter(e -> (e.getCodeElement().getPosition().getLine() == 198 && e.getCodeElement().getPosition().getFile().getName().equals("String_Node_Str"))).findAny().get();
  assertNotNull(mp198);
  approach.MAX_GENERATIONS=1000;
  approach.analyzeModificationPoint(approach.getVariants().get(0),mp198);
  assertTrue(approach.getSolutions().size() > 0);
  assertEquals(maxSolutions,approach.getSolutions().size());
  approach.atEnd();
}

Fixed version (ground truth):
@Test public void testBT_Math85_1() throws Exception {
  int maxSolutions=4;
  CommandSummary command=MathCommandsTests.getMath85Command();
  command.command.put("String_Node_Str","String_Node_Str");
  command.command.put("String_Node_Str",EvalTOSBTApproach.class.getCanonicalName());
  command.command.put("String_Node_Str","String_Node_Str");
  command.command.put("String_Node_Str","String_Node_Str");
  command.command.put("String_Node_Str","String_Node_Str");
  command.command.put("String_Node_Str","String_Node_Str");
  command.command.put("String_Node_Str","String_Node_Str");
  command.command.put("String_Node_Str","String_Node_Str" + maxSolutions);
  AstorMain main=new AstorMain();
  main.execute(command.flat());
  assertTrue(main.getEngine() instanceof EvalTOSBTApproach);
  EvalTOSBTApproach approach=(EvalTOSBTApproach)main.getEngine();
  ModificationPoint mp198=approach.getVariants().get(0).getModificationPoints().stream().filter(e -> (e.getCodeElement().getPosition().getLine() == 198 && e.getCodeElement().getPosition().getFile().getName().equals("String_Node_Str"))).findAny().get();
  assertNotNull(mp198);
  assertEquals(40,mp198.identified);
  approach.MAX_GENERATIONS=1000;
  approach.analyzeModificationPoint(approach.getVariants().get(0),mp198);
  assertTrue(approach.getSolutions().size() > 0);
  assertEquals(maxSolutions,approach.getSolutions().size());
  approach.atEnd();
}
Program: 61414
Project: 61414
Buggy source:
public Candidates combine(Candidates candidates,Object angelicValue,long maxTime,NopolContext nopolContext){
  this.nopolContext=nopolContext;
  max_number_combinations=ConfigurationProperties.getPropertyInt("String_Node_Str");
  maxDepth=nopolContext.getSynthesisDepth();
  this.maxTime=maxTime;
  this.startTime=System.currentTimeMillis();
  executionTime=System.currentTimeMillis() - startTime;
  logger.debug("String_Node_Str" + candidates.size() + "String_Node_Str");
  Candidates result=new Candidates();
  result.addAll(candidates);
  List<Expression> lastTurn=new ArrayList<>();
  lastTurn.addAll(candidates);
  executionTime=System.currentTimeMillis() - startTime;
  List<Operator> operators=new ArrayList<>();
  operators.addAll(Arrays.asList(UnaryOperator.values()));
  operators.addAll(Arrays.asList(BinaryOperator.values()));
  for (int i=0; i < maxDepth - 1 && !stop; i++) {
    System.out.println("String_Node_Str" + i);
    List<Expression> expr=newCombiner(lastTurn,operators,i == maxDepth - 2 ? angelicValue : null);
    lastTurn.addAll(expr);
    executionTime=System.currentTimeMillis() - startTime;
  }
  logger.debug("String_Node_Str" + lastTurn.size() + "String_Node_Str");
  return result;
}

Fixed version (ground truth):
public Candidates combine(Candidates candidates,Object angelicValue,long maxTime,NopolContext nopolContext){
  this.nopolContext=nopolContext;
  max_number_combinations=ConfigurationProperties.getPropertyInt("String_Node_Str");
  maxDepth=nopolContext.getSynthesisDepth();
  this.maxTime=maxTime;
  this.startTime=System.currentTimeMillis();
  executionTime=System.currentTimeMillis() - startTime;
  logger.debug("String_Node_Str" + candidates.size() + "String_Node_Str");
  Candidates result=new Candidates();
  result.addAll(candidates);
  List<Expression> lastTurn=new ArrayList<>();
  lastTurn.addAll(candidates);
  executionTime=System.currentTimeMillis() - startTime;
  List<Operator> operators=new ArrayList<>();
  operators.addAll(Arrays.asList(UnaryOperator.values()));
  operators.addAll(Arrays.asList(BinaryOperator.values()));
  for (int i=0; i < maxDepth - 1 && !stop; i++) {
    List<Expression> expr=newCombiner(lastTurn,operators,i == maxDepth - 2 ? angelicValue : null);
    lastTurn.addAll(expr);
    executionTime=System.currentTimeMillis() - startTime;
  }
  logger.debug("String_Node_Str" + lastTurn.size() + "String_Node_Str");
  return result;
}
Program: 61415
Project: 61415
Buggy source:
public String toString(){
  String out="String_Node_Str";
  int nrtest=0;
  for (  String key : values.keySet()) {
    out+=("String_Node_Str" + nrtest++ + "String_Node_Str"+ key) + "String_Node_Str";
    List<Candidates> executions=values.get(key);
    out+=("String_Node_Str" + executions.size()) + "String_Node_Str";
    int i=0;
    for (    Candidates candidates2 : executions) {
      out+=("String_Node_Str" + (i++) + "String_Node_Str"+ candidates2.size()) + "String_Node_Str";
      int j=0;
      for (      fr.inria.lille.repair.expression.Expression expression : candidates2) {
        out+=("String_Node_Str" + i + "String_Node_Str"+ (j++)+ "String_Node_Str"+ expression.asPatch()+ "String_Node_Str"+ expression.getValue()) + "String_Node_Str";
      }
    }
  }
  return out;
}

Fixed version (ground truth):
public String toString(){
  String out="String_Node_Str";
  int nrtest=0;
  for (  String key : values.keySet()) {
    out+=("String_Node_Str" + nrtest++ + "String_Node_Str"+ key) + "String_Node_Str";
    List<Candidates> executions=values.get(key);
    out+=("String_Node_Str" + executions.size()) + "String_Node_Str";
    int i=0;
    for (    Candidates candidates2 : executions) {
      out+=("String_Node_Str" + (i++) + "String_Node_Str"+ candidates2.size()) + "String_Node_Str";
      int j=0;
      for (      fr.inria.lille.repair.expression.Expression expression : candidates2) {
        try {
          out+=("String_Node_Str" + i + "String_Node_Str"+ (j++)+ "String_Node_Str"+ expression.asPatch()+ "String_Node_Str"+ expression.getValue()) + "String_Node_Str";
        }
 catch (        Exception e) {
          System.out.println("String_Node_Str" + e);
        }
      }
    }
  }
  return out;
}
Program: 61419
Project: 61419
Buggy source:
public static boolean isJDKLowerThan8(){
  String jvmversion=ConfigurationProperties.properties.getProperty("String_Node_Str");
  String[] versioncomponents=jvmversion.split("String_Node_Str");
  if (versioncomponents.length < 3) {
    return false;
  }
  String sec=versioncomponents[1];
  return (Integer.valueOf(sec) <= 7);
}

Fixed version (ground truth):
public static boolean isJDKLowerThan8(){
  String jvmversion=ConfigurationProperties.properties.getProperty("String_Node_Str");
  if (jvmversion == null || jvmversion.isEmpty())   return false;
  String[] versioncomponents=jvmversion.split("String_Node_Str");
  if (versioncomponents.length < 3) {
    return false;
  }
  String sec=versioncomponents[1];
  return (Integer.valueOf(sec) <= 7);
}
Program: 61420
Project: 61420
Buggy source:
public CardumenApproach(MutationSupporter mutatorExecutor,ProjectRepairFacade projFacade) throws JSAPException {
  super(mutatorExecutor,projFacade);
  ConfigurationProperties.setProperty("String_Node_Str","String_Node_Str");
  if (!ConfigurationProperties.hasProperty(ExtensionPoints.INGREDIENT_TRANSFORM_STRATEGY.identifier)) {
    ConfigurationProperties.setProperty(ExtensionPoints.INGREDIENT_TRANSFORM_STRATEGY.identifier,"String_Node_Str");
  }
  ConfigurationProperties.setProperty(ExtensionPoints.TARGET_CODE_PROCESSOR.identifier,"String_Node_Str");
  ConfigurationProperties.setProperty(ExtensionPoints.OPERATORS_SPACE.identifier,"String_Node_Str");
  setPropertyIfNotDefined(ExtensionPoints.INGREDIENT_SEARCH_STRATEGY.identifier,"String_Node_Str");
}

Fixed version (ground truth):
public CardumenApproach(MutationSupporter mutatorExecutor,ProjectRepairFacade projFacade) throws JSAPException {
  super(mutatorExecutor,projFacade);
  ConfigurationProperties.setProperty("String_Node_Str","String_Node_Str");
  if (!ConfigurationProperties.hasProperty(ExtensionPoints.INGREDIENT_TRANSFORM_STRATEGY.identifier)) {
    if (ConfigurationProperties.getPropertyBool("String_Node_Str")) {
      ConfigurationProperties.setProperty(ExtensionPoints.INGREDIENT_TRANSFORM_STRATEGY.identifier,"String_Node_Str");
    }
 else     ConfigurationProperties.setProperty(ExtensionPoints.INGREDIENT_TRANSFORM_STRATEGY.identifier,"String_Node_Str");
  }
  ConfigurationProperties.setProperty(ExtensionPoints.TARGET_CODE_PROCESSOR.identifier,"String_Node_Str");
  ConfigurationProperties.setProperty(ExtensionPoints.OPERATORS_SPACE.identifier,"String_Node_Str");
  setPropertyIfNotDefined(ExtensionPoints.INGREDIENT_SEARCH_STRATEGY.identifier,"String_Node_Str");
}
Program: 61427
Project: 61427
Buggy source:
@SuppressWarnings("String_Node_Str") @Override public List<? extends Placeholder> createTOS(CtStatement ingredientStatement){
  int nrPlaceholders=ConfigurationProperties.getPropertyInt("String_Node_Str");
  List<VariablePlaceholder> createdTemplates=new ArrayList<>();
  List<CtVariableAccess> varAccessCollected=VariableResolver.collectVariableAccess(ingredientStatement,true);
  List<String> varsNames=varAccessCollected.stream().map(e -> e.getVariable().getSimpleName()).distinct().collect(Collectors.toList());
  if (varsNames.size() > 20) {
    varsNames=varsNames.subList(0,20);
  }
  List<Set<String>> variableNamesCombinations=Sets.powerSet(new HashSet<>(varsNames)).stream().filter(e -> e.size() == nrPlaceholders && !e.isEmpty()).collect(Collectors.toList());
  for (  Set<String> targetPlaceholders : variableNamesCombinations) {
    VariablePlaceholder placeholderCreated=createParticularTOS(ingredientStatement,targetPlaceholders);
    if (placeholderCreated != null) {
      createdTemplates.add(placeholderCreated);
    }
  }
  return createdTemplates;
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") @Override public List<? extends Placeholder> createTOS(CtStatement ingredientStatement){
  int nrPlaceholders=ConfigurationProperties.getPropertyInt("String_Node_Str");
  boolean lessplaceholderontos=ConfigurationProperties.getPropertyBool("String_Node_Str");
  List<VariablePlaceholder> createdTemplates=new ArrayList<>();
  List<CtVariableAccess> varAccessCollected=VariableResolver.collectVariableAccess(ingredientStatement,true);
  List<String> varsNames=varAccessCollected.stream().map(e -> e.getVariable().getSimpleName()).distinct().collect(Collectors.toList());
  if (varsNames.size() > 20) {
    varsNames=varsNames.subList(0,20);
  }
  List<Set<String>> variableNamesCombinations=Sets.powerSet(new HashSet<>(varsNames)).stream().filter(e -> e.size() == nrPlaceholders && !e.isEmpty()).collect(Collectors.toList());
  for (  Set<String> targetPlaceholders : variableNamesCombinations) {
    VariablePlaceholder placeholderCreated=createParticularTOS(ingredientStatement,targetPlaceholders);
    if (placeholderCreated != null) {
      if (lessplaceholderontos || placeholderCreated.getPlaceholderVarNamesMappings().keySet().size() == nrPlaceholders) {
        createdTemplates.add(placeholderCreated);
      }
 else {
        log.debug("String_Node_Str" + nrPlaceholders + "String_Node_Str"+ placeholderCreated);
      }
    }
  }
  return createdTemplates;
}
Program: 61428
Project: 61428
Buggy source:
protected List<CtType<?>> obtainClassesFromScope(ProgramVariant variant){
  if (IngredientSpaceScope.PACKAGE.equals(scope)) {
    return variant.getAffectedClasses();
  }
  if (IngredientSpaceScope.LOCAL.equals(scope)) {
    return variant.getAffectedClasses();
  }
  if (IngredientSpaceScope.GLOBAL.equals(scope)) {
    return MutationSupporter.getFactory().Type().getAll();
  }
  return null;
}

Fixed version (ground truth):
protected List<CtType<?>> obtainClassesFromScope(ProgramVariant variant){
  if (IngredientSpaceScope.PACKAGE.equals(scope)) {
    List<CtType<?>> affected=variant.getAffectedClasses();
    List<CtType<?>> types=new ArrayList<>();
    List<CtPackage> packageAnalyzed=new ArrayList<>();
    for (    CtType<?> ing : affected) {
      CtPackage p=ing.getParent(CtPackage.class);
      if (!packageAnalyzed.contains(p)) {
        packageAnalyzed.add(p);
        for (        CtType<?> type : p.getTypes()) {
          types.add(type);
        }
      }
    }
    return types;
  }
  if (IngredientSpaceScope.LOCAL.equals(scope)) {
    return variant.getAffectedClasses();
  }
  if (IngredientSpaceScope.GLOBAL.equals(scope)) {
    return MutationSupporter.getFactory().Type().getAll();
  }
  return null;
}
Program: 61429
Project: 61429
Buggy source:
@Override public void defineSpace(ProgramVariant variant){
  tosCounter=new TOSCounter();
  List<CtType<?>> affected=obtainClassesFromScope(variant);
  log.debug("String_Node_Str");
  for (  CtType<?> classToProcess : affected) {
    List<CtCodeElement> ingredients=this.ingredientProcessor.createFixSpace(classToProcess);
    TargetElementProcessor.mustClone=true;
    for (    Object originalIngredient : ingredients) {
      if (originalIngredient instanceof CtStatement) {
        CtStatement originalIngredientStatement=(CtStatement)originalIngredient;
        String keyLocation=mapKey(originalIngredientStatement);
        MutationSupporter.getEnvironment().setNoClasspath(true);
        List<TOSEntity> xTemplates=createAllTOS(originalIngredientStatement);
        List<Ingredient> ingredientPoolForLocation=this.retrieveIngredients(keyLocation);
        for (        TOSEntity templateElement : xTemplates) {
          templateElement.generateCodeofTOS();
          if (!ingredientPoolForLocation.contains(templateElement)) {
            ingredientPoolForLocation.add(templateElement);
          }
 else {
          }
          tosCounter.saveStatisticsOfTos(templateElement,originalIngredientStatement);
        }
      }
 else {
        log.debug("String_Node_Str" + originalIngredient);
      }
    }
  }
  this.recreateTypesStructures();
}

Fixed version (ground truth):
@Override public void defineSpace(ProgramVariant variant){
  tosCounter=new TOSCounter();
  List<CtType<?>> affected=obtainClassesFromScope(variant);
  log.debug("String_Node_Str" + affected.size());
  for (  CtType<?> classToProcess : affected) {
    log.debug("String_Node_Str" + classToProcess.getQualifiedName());
    List<CtCodeElement> ingredients=this.ingredientProcessor.createFixSpace(classToProcess);
    TargetElementProcessor.mustClone=true;
    for (    Object originalIngredient : ingredients) {
      if (originalIngredient instanceof CtStatement) {
        CtStatement originalIngredientStatement=(CtStatement)originalIngredient;
        String keyLocation=mapKey(originalIngredientStatement);
        MutationSupporter.getEnvironment().setNoClasspath(true);
        List<TOSEntity> xTemplates=createAllTOS(originalIngredientStatement);
        List<Ingredient> ingredientPoolForLocation=this.retrieveIngredients(keyLocation);
        for (        TOSEntity templateElement : xTemplates) {
          templateElement.generateCodeofTOS();
          if (!ingredientPoolForLocation.contains(templateElement)) {
            ingredientPoolForLocation.add(templateElement);
          }
 else {
          }
          tosCounter.saveStatisticsOfTos(templateElement,originalIngredientStatement);
        }
      }
 else {
        log.debug("String_Node_Str" + originalIngredient);
      }
    }
  }
  this.recreateTypesStructures();
}
Program: 61430
Project: 61430
Buggy source:
@Override public List<CtCodeElement> getAffectedElements(){
  List<CtCodeElement> ces=new ArrayList<>();
  for (  List vars : this.palceholdersToVariables.values()) {
    ces.addAll(vars);
  }
  return null;
}

Fixed version (ground truth):
@Override public List<CtCodeElement> getAffectedElements(){
  List<CtCodeElement> ces=new ArrayList<>();
  for (  List vars : this.palceholdersToVariables.values()) {
    ces.addAll(vars);
  }
  return ces;
}
Program: 61431
Project: 61431
Buggy source:
@Override public void apply(){
  this.placeholderName=varplaceholder.getName();
  this.varplaceholder.getInvocation().getExecutable().setSimpleName(this.selectedExecutableTarget.getSimpleName());
}

Fixed version (ground truth):
@Override public void apply(){
  System.out.println("String_Node_Str" + this.varplaceholder.getInvocation().getExecutable().getSimpleName() + "String_Node_Str"+ this.selectedExecutableTarget.getSimpleName());
  this.previousElementName=this.varplaceholder.getInvocation().getExecutable().getSimpleName();
  this.varplaceholder.getInvocation().getExecutable().setSimpleName(this.selectedExecutableTarget.getSimpleName());
}
Program: 61432
Project: 61432
Buggy source:
@Override public void revert(){
  this.varplaceholder.getInvocation().getExecutable().setSimpleName(placeholderName);
}

Fixed version (ground truth):
@Override public void revert(){
  this.varplaceholder.getInvocation().getExecutable().setSimpleName(previousElementName);
}
Program: 61433
Project: 61433
Buggy source:
public String toString(){
  return this.getClass().getSimpleName() + "String_Node_Str" + selectedExecutableTarget.getSimpleName()+ "String_Node_Str"+ placeholderName;
}

Fixed version (ground truth):
public String toString(){
  return this.getClass().getSimpleName() + "String_Node_Str" + selectedExecutableTarget.getSimpleName()+ "String_Node_Str"+ previousElementName;
}
Program: 61434
Project: 61434
Buggy source:
public boolean canBeApplied(ModificationPoint modificationPoint){
  Set<CtCodeElement> affected=new HashSet<>();
  List<CtVariable> variablesInScope=modificationPoint.getContextOfModificationPoint();
  for (  Placeholder placeholder : this.getPlaceholders()) {
    List<CtCodeElement> affected_i=placeholder.getAffectedElements();
    affected.addAll(affected);
  }
  List<CtVariableAccess> outOfContext=VariableResolver.retriveVariablesOutOfContext(variablesInScope,this.derivedFrom);
  boolean removed=outOfContext.removeAll(affected);
  System.out.println("String_Node_Str" + removed);
  return outOfContext.isEmpty();
}

Fixed version (ground truth):
public boolean canBeApplied(ModificationPoint modificationPoint){
  Set<CtCodeElement> affected=new HashSet<>();
  List<CtVariable> variablesInScope=modificationPoint.getContextOfModificationPoint();
  for (  Placeholder placeholder : this.getPlaceholders()) {
    List<CtCodeElement> affected_i=placeholder.getAffectedElements();
    affected.addAll(affected_i);
  }
  List<CtVariableAccess> outOfContext=VariableResolver.retriveVariablesOutOfContext(variablesInScope,this.derivedFrom);
  boolean removed=outOfContext.removeAll(affected);
  System.out.println("String_Node_Str" + removed);
  return outOfContext.isEmpty();
}
Program: 61435
Project: 61435
Buggy source:
public static InvocationMatching mapImplicitInvocation(CtClass ctClassMP,CtAbstractInvocation inv0){
  if (inv0 instanceof CtInvocation) {
    CtInvocation invocation0=(CtInvocation)inv0;
    CtExpression tpr=invocation0.getTarget();
    if (tpr instanceof CtThisAccess) {
      CtThisAccess<?> targetthis=(CtThisAccess)tpr;
      CtTypeReference tpref=targetthis.getType();
      if (ctClassMP.isSubtypeOf(tpref))       return InvocationMatching.TARGET_SAME_TYPE;
 else       if (chechSignatures(ctClassMP.getAllExecutables(),invocation0.getExecutable())) {
        return InvocationMatching.SAME_SIGNATURE_DIFF_TYPE;
      }
 else {
        log.debug("String_Node_Str" + invocation0.getExecutable().getSignature());
        log.debug("String_Node_Str" + ctClassMP.getQualifiedName() + "String_Node_Str"+ (tpref.getQualifiedName()));
        return InvocationMatching.TARGET_INCOMPATIBLE;
      }
    }
 else {
      log.debug("String_Node_Str" + tpr);
      return InvocationMatching.TARGET_IS_VARIABLE;
    }
  }
 else {
    if (inv0 instanceof CtConstructorCall) {
      if (chechSignatures(ctClassMP.getConstructors(),inv0.getExecutable())) {
        return InvocationMatching.SAME_SIGNATURE_CONTRUCTOR;
      }
 else {
        return InvocationMatching.NO_MATCH;
      }
    }
    return InvocationMatching.OTHER;
  }
}

Fixed version (ground truth):
public static InvocationMatching mapImplicitInvocation(CtClass ctClassMP,CtAbstractInvocation inv0){
  if (inv0 instanceof CtInvocation) {
    CtInvocation invocation0=(CtInvocation)inv0;
    CtExpression tpr=invocation0.getTarget();
    if (tpr instanceof CtThisAccess) {
      CtThisAccess<?> targetthis=(CtThisAccess)tpr;
      CtTypeReference tpref=targetthis.getType();
      if (ctClassMP.isSubtypeOf(tpref))       return InvocationMatching.TARGET_SAME_TYPE;
 else       if (chechSignatures(ctClassMP.getAllExecutables(),invocation0.getExecutable(),false)) {
        return InvocationMatching.SAME_SIGNATURE_DIFF_TYPE;
      }
 else {
        log.debug("String_Node_Str" + invocation0.getExecutable().getSignature());
        log.debug("String_Node_Str" + ctClassMP.getQualifiedName() + "String_Node_Str"+ (tpref.getQualifiedName()));
        return InvocationMatching.TARGET_INCOMPATIBLE;
      }
    }
 else {
      log.debug("String_Node_Str" + tpr);
      return InvocationMatching.TARGET_IS_VARIABLE;
    }
  }
 else {
    if (inv0 instanceof CtConstructorCall) {
      return InvocationMatching.CONTRUCTOR;
    }
    return InvocationMatching.OTHER;
  }
}
Program: 61436
Project: 61436
Buggy source:
public static boolean chechSignatures(Collection<CtExecutableReference<?>> allExecutables,CtExecutableReference executable){
  String signatureTarget=executable.getSignature();
  for (  CtExecutableReference<?> ctExecutableReferenceOfMethod : allExecutables) {
    if (ctExecutableReferenceOfMethod.getSignature().equals(signatureTarget))     return true;
  }
  return false;
}

Fixed version (ground truth):
public static boolean chechSignatures(Collection<CtExecutableReference<?>> allExecutables,CtExecutableReference executable,boolean constructor){
  String signatureTarget=executable.getSignature();
  for (  CtExecutableReference<?> ctExecutableReferenceOfMethod : allExecutables) {
    if (constructor && !ctExecutableReferenceOfMethod.isConstructor())     continue;
    if (ctExecutableReferenceOfMethod.getSignature().equals(signatureTarget))     return true;
  }
  return false;
}
Program: 61438
Project: 61438
Buggy source:
public static Number[] getMaxCombination(Map<VarAccessWrapper,List<CtVariable>> mappedVars,List<VarAccessWrapper> varsNamesToCombine){
  int maxNumberCombinations=ConfigurationProperties.getPropertyInt("String_Node_Str");
  int max=-1;
  long numberTotalComb=1;
  int nrVarsWithMorethan1Possibilities=0;
  Set<String> vars=new HashSet<>();
  for (  VarAccessWrapper currentVar : varsNamesToCombine) {
    if (vars.contains(currentVar.getVar().getVariable().getSimpleName())) {
      continue;
    }
    vars.add(currentVar.getVar().getVariable().getSimpleName());
    List<CtVariable> mapped=mappedVars.get(currentVar);
    int numberCompVar=mapped.size();
    if (numberCompVar > max)     max=numberCompVar;
    if (numberCompVar > 1)     nrVarsWithMorethan1Possibilities++;
    logger.debug(String.format("String_Node_Str",currentVar.getVar().getVariable().getSimpleName(),numberCompVar));
    numberTotalComb*=numberCompVar;
  }
  logger.debug("String_Node_Str" + numberTotalComb);
  double maxPerVarLimit=0;
  if (numberTotalComb < maxNumberCombinations || !ConfigurationProperties.getPropertyBool("String_Node_Str")) {
    maxPerVarLimit=max;
  }
 else {
    maxPerVarLimit=Math.pow(maxNumberCombinations,1.0 / nrVarsWithMorethan1Possibilities);
  }
  logger.debug(String.format("String_Node_Str",maxPerVarLimit,numberTotalComb));
  return new Number[]{numberTotalComb,maxPerVarLimit};
}

Fixed version (ground truth):
public static Number[] getMaxCombination(Map<VarAccessWrapper,List<CtVariable>> mappedVars,List<VarAccessWrapper> varsNamesToCombine){
  int maxNumberCombinations=ConfigurationProperties.getPropertyInt("String_Node_Str");
  int max=-1;
  long numberTotalComb=1;
  int nrVarsWithMorethan1Possibilities=0;
  Set<String> vars=new HashSet<>();
  for (  VarAccessWrapper currentVar : varsNamesToCombine) {
    if (vars.contains(currentVar.getVar().getVariable().getSimpleName())) {
      continue;
    }
    vars.add(currentVar.getVar().getVariable().getSimpleName());
    List<CtVariable> mapped=mappedVars.get(currentVar);
    int numberCompVar=mapped.size();
    if (numberCompVar > max)     max=numberCompVar;
    if (numberCompVar > 1)     nrVarsWithMorethan1Possibilities++;
    logger.debug(String.format("String_Node_Str",currentVar.getVar().getVariable().getSimpleName(),numberCompVar));
    if (numberTotalComb < Integer.MAX_VALUE) {
      long mult=(long)numberTotalComb * numberCompVar;
      if (mult > Integer.MAX_VALUE || mult < Integer.MIN_VALUE) {
        logger.debug("String_Node_Str" + Integer.MAX_VALUE);
        numberTotalComb=Integer.MAX_VALUE;
      }
 else       numberTotalComb*=numberCompVar;
    }
  }
  logger.debug("String_Node_Str" + numberTotalComb);
  double maxPerVarLimit=0;
  if (numberTotalComb < maxNumberCombinations || !ConfigurationProperties.getPropertyBool("String_Node_Str")) {
    maxPerVarLimit=max;
  }
 else {
    maxPerVarLimit=Math.pow(maxNumberCombinations,1.0 / nrVarsWithMorethan1Possibilities);
  }
  logger.debug(String.format("String_Node_Str",maxPerVarLimit,numberTotalComb));
  return new Number[]{numberTotalComb,maxPerVarLimit};
}
Program: 61440
Project: 61440
Buggy source:
@SuppressWarnings("String_Node_Str") protected void loadIngredientSearchStrategy(AstorCoreEngine approach) throws Exception {
  IngredientBasedRepairApproach ibra=(IngredientBasedRepairApproach)approach;
  IngredientSpace ingredientspace=ibra.getIngredientPool();
  IngredientSearchStrategy ingStrategy=null;
  String ingStrategySt=ConfigurationProperties.properties.getProperty(ExtensionPoints.INGREDIENT_SEARCH_STRATEGY.identifier);
  if (ingStrategySt != null) {
    if (ingStrategySt.equals("String_Node_Str")) {
      ingStrategy=new EfficientIngredientStrategy(ingredientspace);
    }
 else     if (ingStrategySt.equals("String_Node_Str")) {
      ingStrategy=new ProbabilisticIngredientStrategy(ingredientspace);
    }
    if (ingStrategySt.equals("String_Node_Str")) {
      ingStrategy=new CloneIngredientSearchStrategy(ingredientspace);
    }
 else {
      ingStrategy=(IngredientSearchStrategy)PlugInLoader.loadPlugin(ExtensionPoints.INGREDIENT_SEARCH_STRATEGY,new Class[]{IngredientSpace.class},new Object[]{ingredientspace});
    }
  }
 else {
    ingStrategy=new EfficientIngredientStrategy(ingredientspace);
  }
  ibra.setIngredientStrategy(ingStrategy);
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") protected void loadIngredientSearchStrategy(AstorCoreEngine approach) throws Exception {
  IngredientBasedRepairApproach ibra=(IngredientBasedRepairApproach)approach;
  IngredientSpace ingredientspace=ibra.getIngredientPool();
  IngredientSearchStrategy ingStrategy=null;
  String ingStrategySt=ConfigurationProperties.properties.getProperty(ExtensionPoints.INGREDIENT_SEARCH_STRATEGY.identifier);
  if (ingStrategySt != null) {
    if (ingStrategySt.equals("String_Node_Str")) {
      ingStrategy=new EfficientIngredientStrategy(ingredientspace);
    }
 else     if (ingStrategySt.equals("String_Node_Str")) {
      ingStrategy=new ProbabilisticIngredientStrategy(ingredientspace);
    }
 else     if (ingStrategySt.equals("String_Node_Str")) {
      ingStrategy=new CloneIngredientSearchStrategy(ingredientspace);
    }
 else {
      ingStrategy=(IngredientSearchStrategy)PlugInLoader.loadPlugin(ExtensionPoints.INGREDIENT_SEARCH_STRATEGY,new Class[]{IngredientSpace.class},new Object[]{ingredientspace});
    }
  }
 else {
    ingStrategy=new EfficientIngredientStrategy(ingredientspace);
  }
  ibra.setIngredientStrategy(ingStrategy);
}
Program: 61442
Project: 61442
Buggy source:
@Override public boolean canBeAppliedToPoint(ModificationPoint point){
  return (point.getCodeElement() instanceof CtStatement);
}

Fixed version (ground truth):
@Override public boolean canBeAppliedToPoint(ModificationPoint point){
  if (!(point.getCodeElement() instanceof CtStatement))   return false;
  if (point.getCodeElement() instanceof CtLocalVariable) {
    return false;
  }
  return true;
}
Program: 61444
Project: 61444
Buggy source:
/** 
 * Compile the original code
 * @param properties
 */
protected void compileProject(ProjectConfiguration properties){
  final Launcher launcher=new Launcher();
  for (  String s : properties.getOriginalDirSrc())   launcher.addInputResource(s);
  for (  String s : properties.getTestDirSrc())   launcher.addInputResource(s);
  String binoutput=properties.getWorkingDirForBytecode() + File.separator + (ProgramVariant.DEFAULT_ORIGINAL_VARIANT);
  launcher.setBinaryOutputDirectory(binoutput);
  log.debug("String_Node_Str" + launcher.getModelBuilder().getInputSources() + "String_Node_Str"+ launcher.getModelBuilder().getBinaryOutputDirectory());
  launcher.getEnvironment().setPreserveLineNumbers(true);
  launcher.getEnvironment().setComplianceLevel(ConfigurationProperties.getPropertyInt("String_Node_Str"));
  launcher.getEnvironment().setShouldCompile(true);
  launcher.getEnvironment().setSourceClasspath(properties.getDependenciesString().split(File.pathSeparator));
  launcher.buildModel();
  launcher.getModelBuilder().compile();
}

Fixed version (ground truth):
/** 
 * Compile the original code
 * @param properties
 */
protected void compileProject(ProjectConfiguration properties){
  final Launcher launcher=new Launcher();
  for (  String s : properties.getOriginalDirSrc())   launcher.addInputResource(s);
  for (  String s : properties.getTestDirSrc())   launcher.addInputResource(s);
  String binoutput=properties.getWorkingDirForBytecode() + File.separator + (ProgramVariant.DEFAULT_ORIGINAL_VARIANT);
  launcher.setBinaryOutputDirectory(binoutput);
  log.debug("String_Node_Str" + launcher.getModelBuilder().getInputSources() + "String_Node_Str"+ launcher.getModelBuilder().getBinaryOutputDirectory());
  launcher.getEnvironment().setPreserveLineNumbers(true);
  launcher.getEnvironment().setComplianceLevel(ConfigurationProperties.getPropertyInt("String_Node_Str"));
  launcher.getEnvironment().setShouldCompile(true);
  launcher.getEnvironment().setSourceClasspath(properties.getDependenciesString().split(File.pathSeparator));
  launcher.buildModel();
  launcher.getModelBuilder().generateProcessedSourceFiles(OutputType.COMPILATION_UNITS);
  launcher.getModelBuilder().compile(InputType.CTTYPES);
}
Program: 61446
Project: 61446
Buggy source:
public void initProject(String location,String projectName,String dependencies,String packageToInstrument,double thfl,String failing) throws Exception {
  List<String> failingList=(failing != null) ? Arrays.asList(failing.split(File.pathSeparator)) : new ArrayList<>();
  String method=this.getClass().getSimpleName();
  projectFacade=getProjectConfiguration(location,projectName,method,failingList,dependencies,true);
  projectFacade.getProperties().setExperimentName(this.getClass().getSimpleName());
  projectFacade.setupWorkingDirectories(ProgramVariant.DEFAULT_ORIGINAL_VARIANT);
}

Fixed version (ground truth):
public void initProject(String location,String projectName,String dependencies,String packageToInstrument,double thfl,String failing) throws Exception {
  List<String> failingList=(failing != null) ? Arrays.asList(failing.split(File.pathSeparator)) : new ArrayList<>();
  String method=this.getClass().getSimpleName();
  projectFacade=getProjectConfiguration(location,projectName,method,failingList,dependencies,true);
  projectFacade.getProperties().setExperimentName(this.getClass().getSimpleName());
  projectFacade.setupWorkingDirectories(ProgramVariant.DEFAULT_ORIGINAL_VARIANT);
  if (ConfigurationProperties.getPropertyBool("String_Node_Str")) {
    compileProject(projectFacade.getProperties());
  }
}
Program: 61448
Project: 61448
Buggy source:
/** 
 * Compile the original code
 */
protected void compileProject(){
  final Launcher launcher=new Launcher();
  for (  String s : projectFacade.getProperties().getOriginalDirSrc())   launcher.addInputResource(s);
  for (  String s : projectFacade.getProperties().getTestDirSrc())   launcher.addInputResource(s);
  launcher.setBinaryOutputDirectory(projectFacade.getOutDirWithPrefix(ProgramVariant.DEFAULT_ORIGINAL_VARIANT));
  log.debug("String_Node_Str" + launcher.getModelBuilder().getInputSources() + "String_Node_Str"+ launcher.getModelBuilder().getBinaryOutputDirectory());
  launcher.getEnvironment().setPreserveLineNumbers(true);
  launcher.getEnvironment().setComplianceLevel(ConfigurationProperties.getPropertyInt("String_Node_Str"));
  launcher.getEnvironment().setShouldCompile(true);
  launcher.buildModel();
  launcher.getEnvironment().setSourceClasspath(projectFacade.getProperties().getDependenciesString().split(File.pathSeparator));
  launcher.getModelBuilder().compile();
}

Fixed version (ground truth):
/** 
 * Compile the original code
 * @param properties
 */
protected void compileProject(ProjectConfiguration properties){
  final Launcher launcher=new Launcher();
  for (  String s : properties.getOriginalDirSrc())   launcher.addInputResource(s);
  for (  String s : properties.getTestDirSrc())   launcher.addInputResource(s);
  String binoutput=properties.getWorkingDirForBytecode() + File.separator + (ProgramVariant.DEFAULT_ORIGINAL_VARIANT);
  launcher.setBinaryOutputDirectory(binoutput);
  log.debug("String_Node_Str" + launcher.getModelBuilder().getInputSources() + "String_Node_Str"+ launcher.getModelBuilder().getBinaryOutputDirectory());
  launcher.getEnvironment().setPreserveLineNumbers(true);
  launcher.getEnvironment().setComplianceLevel(ConfigurationProperties.getPropertyInt("String_Node_Str"));
  launcher.getEnvironment().setShouldCompile(true);
  launcher.getEnvironment().setSourceClasspath(properties.getDependenciesString().split(File.pathSeparator));
  launcher.buildModel();
  launcher.getModelBuilder().compile();
}