Program: 61547
Project: 61547
Buggy source:
/** 
 * Run the validation of the program variant in two steps: one the original failing test, the second the complete test suite (only in case the failing now passes)
 * @param mutatedVariant
 * @param projectFacade
 * @param executeRegression
 * @return
 */
public ProgramVariantValidationResult validate(ProgramVariant mutatedVariant,ProjectRepairFacade projectFacade,boolean executeRegression){
  try {
    URL[] bc=createClassPath(mutatedVariant,projectFacade);
    JUnitExecutorProcess testProcessRunner=new JUnitIndirectExecutorProcess(false);
    log.debug("String_Node_Str");
    currentStats.numberOfFailingTestCaseExecution++;
    long t1=System.currentTimeMillis();
    String jvmPath=ConfigurationProperties.getProperty("String_Node_Str");
    TestResult trfailing=testProcessRunner.execute(jvmPath,bc,projectFacade.getProperties().getFailingTestCases(),ConfigurationProperties.getPropertyInt("String_Node_Str"));
    long t2=System.currentTimeMillis();
    currentStats.time1Validation.add((t2 - t1));
    currentStats.passFailingval1++;
    if (trfailing == null) {
      log.debug("String_Node_Str");
      return null;
    }
 else {
      currentStats.numberOfTestcasesExecutedval1+=trfailing.casesExecuted;
      currentStats.numberOfFailingTestCase=trfailing.casesExecuted;
      log.debug(trfailing);
      if (trfailing.wasSuccessful() && executeRegression) {
        currentStats.numberOfRegressionTestExecution++;
        currentStats.passFailingval2++;
        if (ConfigurationProperties.getPropertyBool("String_Node_Str"))         return executeRegressionTestingOneByOne(mutatedVariant,bc,testProcessRunner,projectFacade);
 else         return executeRegressionTesting(mutatedVariant,bc,testProcessRunner,projectFacade);
      }
 else {
        ProgramVariantValidationResult r=new TestCasesProgramValidationResult(trfailing,trfailing.wasSuccessful(),false);
        return r;
      }
    }
  }
 catch (  MalformedURLException e) {
    e.printStackTrace();
    return null;
  }
}

Fixed version (ground truth):
/** 
 * Run the validation of the program variant in two steps: one the original failing test, the second the complete test suite (only in case the failing now passes)
 * @param mutatedVariant
 * @param projectFacade
 * @param executeRegression
 * @return
 */
public ProgramVariantValidationResult validate(ProgramVariant mutatedVariant,ProjectRepairFacade projectFacade,boolean executeRegression){
  try {
    URL[] bc=createClassPath(mutatedVariant,projectFacade);
    JUnitExecutorProcess testProcessRunner=new JUnitIndirectExecutorProcess(false);
    log.debug("String_Node_Str");
    currentStats.numberOfFailingTestCaseExecution++;
    long t1=System.currentTimeMillis();
    String jvmPath=ConfigurationProperties.getProperty("String_Node_Str");
    TestResult trfailing=testProcessRunner.execute(jvmPath,bc,projectFacade.getProperties().getFailingTestCases(),ConfigurationProperties.getPropertyInt("String_Node_Str"));
    long t2=System.currentTimeMillis();
    currentStats.time1Validation.add((t2 - t1));
    currentStats.passFailingval1++;
    if (trfailing == null) {
      log.debug("String_Node_Str");
      return null;
    }
 else {
      currentStats.numberOfTestcasesExecutedval1+=trfailing.casesExecuted;
      currentStats.numberOfFailingTestCase=trfailing.casesExecuted;
      log.debug(trfailing);
      if (trfailing.wasSuccessful() && executeRegression) {
        currentStats.numberOfRegressionTestExecution++;
        currentStats.passFailingval2++;
        return runRegression(mutatedVariant,projectFacade,bc);
      }
 else {
        ProgramVariantValidationResult r=new TestCasesProgramValidationResult(trfailing,trfailing.wasSuccessful(),false);
        return r;
      }
    }
  }
 catch (  MalformedURLException e) {
    e.printStackTrace();
    return null;
  }
}