Program: 12333
Project: 12333
Buggy source:
/** 
 * To run the test class via <p> mvn exec:java -Dexec.mainClass="uk.ac.shef.dcs.jate.app.AppATEACLRDTECTest" -Dexec.classpathScope="test"
 * @param args, true or false for indexing
 * @throws JATEException
 */
public static void main(String[] args) throws JATEException {
  try {
    AppATEACLRDTECTest appATETest=new AppATEACLRDTECTest(solrHome.toString(),solrCoreName);
    boolean reindex=true;
    if (args.length > 0) {
      try {
        reindex=Boolean.valueOf(args[0]);
      }
 catch (      Exception e) {
        throw new JATEException(e);
      }
    }
    long numOfDocs=validate_indexing();
    LOG.info("String_Node_Str");
    if (numOfDocs == 0 || reindex) {
      long startTime=System.currentTimeMillis();
      appATETest.indexAndExtract(corpusDir);
      long endTime=System.currentTimeMillis();
      LOG.info(String.format("String_Node_Str",(endTime - startTime)));
    }
    LOG.info("String_Node_Str");
    List<JATETerm> terms=null;
    AppATTFTest appATTFTest=new AppATTFTest();
    terms=appATTFTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appATTFTest.evaluate(terms,AppATTF.class.getSimpleName());
    AppChiSquareTest appChiSquareTest=new AppChiSquareTest();
    terms=appChiSquareTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appChiSquareTest.evaluate(terms,AppChiSquare.class.getSimpleName());
    AppCValueTest appCValueTest=new AppCValueTest();
    terms=appCValueTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appCValueTest.evaluate(terms,AppCValue.class.getSimpleName());
    AppGlossExTest appGlossExTest=new AppGlossExTest();
    terms=appGlossExTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appGlossExTest.evaluate(terms,AppGlossEx.class.getSimpleName());
    AppRAKETest appRAKETest=new AppRAKETest();
    terms=appRAKETest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appRAKETest.evaluate(terms,AppRAKE.class.getSimpleName());
    AppRIDFTest appRIDFTest=new AppRIDFTest();
    terms=appRIDFTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appRIDFTest.evaluate(terms,AppRIDF.class.getSimpleName());
    AppTermExTest appTermExTest=new AppTermExTest();
    terms=appTermExTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appTermExTest.evaluate(terms,AppTermEx.class.getSimpleName());
    AppTFIDFTest appTFIDFTest=new AppTFIDFTest();
    terms=appTFIDFTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appTFIDFTest.evaluate(terms,AppTFIDF.class.getSimpleName());
    AppTTFTest appTTFTest=new AppTTFTest();
    terms=appTTFTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appTTFTest.evaluate(terms,AppTTF.class.getSimpleName());
    AppWeirdnessTest appWeirdnessTest=new AppWeirdnessTest();
    terms=appWeirdnessTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appWeirdnessTest.evaluate(terms,AppWeirdness.class.getSimpleName());
  }
 catch (  Exception e) {
    throw new JATEException(e);
  }
 finally {
    try {
      server.getCoreContainer().getCore(solrCoreName).close();
      server.getCoreContainer().shutdown();
      server.close();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
catch (    SolrException solrEx) {
      solrEx.printStackTrace();
    }
 finally {
      System.exit(0);
    }
  }
  unlock();
  System.exit(0);
}

Fixed version (ground truth):
/** 
 * To run the test class via <p> mvn exec:java -Dexec.mainClass="uk.ac.shef.dcs.jate.app.AppATEACLRDTECTest" -Dexec.classpathScope="test"
 * @param args, true or false for indexing
 * @throws JATEException
 */
public static void main(String[] args) throws JATEException {
  try {
    AppATEACLRDTECTest appATETest=new AppATEACLRDTECTest(solrHome.toString(),solrCoreName);
    boolean reindex=true;
    if (args.length > 0) {
      try {
        reindex=Boolean.valueOf(args[0]);
      }
 catch (      Exception e) {
        throw new JATEException(e);
      }
    }
    long numOfDocs=validate_indexing();
    LOG.info("String_Node_Str");
    if (numOfDocs == 0 || reindex) {
      long startTime=System.currentTimeMillis();
      appATETest.indexAndExtract(corpusDir);
      long endTime=System.currentTimeMillis();
      LOG.info(String.format("String_Node_Str",(endTime - startTime)));
    }
    LOG.info("String_Node_Str");
    List<JATETerm> terms=null;
    AppATTFTest appATTFTest=new AppATTFTest();
    terms=appATTFTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appATTFTest.evaluate(terms,AppATTF.class.getSimpleName());
    AppChiSquareTest appChiSquareTest=new AppChiSquareTest();
    terms=appChiSquareTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appChiSquareTest.evaluate(terms,AppChiSquare.class.getSimpleName());
    AppCValueTest appCValueTest=new AppCValueTest();
    terms=appCValueTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appCValueTest.evaluate(terms,AppCValue.class.getSimpleName());
    AppGlossExTest appGlossExTest=new AppGlossExTest();
    terms=appGlossExTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appGlossExTest.evaluate(terms,AppGlossEx.class.getSimpleName());
    AppRAKETest appRAKETest=new AppRAKETest();
    terms=appRAKETest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appRAKETest.evaluate(terms,AppRAKE.class.getSimpleName());
    AppRIDFTest appRIDFTest=new AppRIDFTest();
    terms=appRIDFTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appRIDFTest.evaluate(terms,AppRIDF.class.getSimpleName());
    AppTermExTest appTermExTest=new AppTermExTest();
    terms=appTermExTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appTermExTest.evaluate(terms,AppTermEx.class.getSimpleName());
    AppTFIDFTest appTFIDFTest=new AppTFIDFTest();
    terms=appTFIDFTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appTFIDFTest.evaluate(terms,AppTFIDF.class.getSimpleName());
    AppTTFTest appTTFTest=new AppTTFTest();
    terms=appTTFTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appTTFTest.evaluate(terms,AppTTF.class.getSimpleName());
    AppWeirdnessTest appWeirdnessTest=new AppWeirdnessTest();
    terms=appWeirdnessTest.rankAndFilter(server,solrCoreName,appATETest.jateProp);
    appWeirdnessTest.evaluate(terms,AppWeirdness.class.getSimpleName());
  }
 catch (  Exception e) {
    e.printStackTrace();
  }
 finally {
    try {
      server.getCoreContainer().getCore(solrCoreName).close();
      server.getCoreContainer().shutdown();
      server.close();
    }
 catch (    IOException e) {
      e.printStackTrace();
    }
catch (    SolrException solrEx) {
      solrEx.printStackTrace();
    }
 finally {
      System.exit(0);
    }
  }
  unlock();
  System.exit(0);
}