Program: 140750
Project: 140750
Buggy source:
/** 
 * DOC scorreia Comment method "main".
 * @param args
 */
public static void main(String[] args){
  TypedProperties connectionParams=PropertiesLoader.getProperties(IndicatorEvaluator.class,"String_Node_Str");
  String driverClassName=connectionParams.getProperty("String_Node_Str");
  String dbUrl=connectionParams.getProperty("String_Node_Str");
  try {
    TimeTracer tt=new TimeTracer("String_Node_Str",null);
    tt.start();
    Connection connection=ConnectionUtils.createConnection(dbUrl,driverClassName,connectionParams);
    String database="String_Node_Str";
    String tableName="String_Node_Str";
    String[] columnsArray=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
    List<String> columns=Arrays.asList(columnsArray);
    File file=new File("String_Node_Str" + IndicatorsPackage.eNAME);
    EMFUtil util=new EMFUtil();
    Resource resource=util.getResourceSet().createResource(URI.createFileURI(file.getAbsolutePath()));
    rContents=resource.getContents();
    evaluator.setConnection(connection);
    RowCountIndicator rowCountIndicator=IndicatorsFactory.eINSTANCE.createRowCountIndicator();
    NullCountIndicator nullCountIndicator=IndicatorsFactory.eINSTANCE.createNullCountIndicator();
    DistinctCountIndicator distinctCountIndicator=IndicatorsFactory.eINSTANCE.createDistinctCountIndicator();
    DistinctCountIndicator distinctCountIndicator2=IndicatorsFactory.eINSTANCE.createDistinctCountIndicator();
    UniqueCountIndicator uniqueCountIndicator=IndicatorsFactory.eINSTANCE.createUniqueCountIndicator();
    DuplicateCountIndicator duplicateCountIndicator=IndicatorsFactory.eINSTANCE.createDuplicateCountIndicator();
    BlankCountIndicator blankCountIndicator=IndicatorsFactory.eINSTANCE.createBlankCountIndicator();
    MinLengthIndicator minLengthIndicator=IndicatorsFactory.eINSTANCE.createMinLengthIndicator();
    MaxLengthIndicator maxLengthIndicator=IndicatorsFactory.eINSTANCE.createMaxLengthIndicator();
    AverageLengthIndicator averageLengthIndicator=IndicatorsFactory.eINSTANCE.createAverageLengthIndicator();
    AverageLengthIndicator averageLengthIndicator2=IndicatorsFactory.eINSTANCE.createAverageLengthIndicator();
    ModeIndicator modeIndicator=IndicatorsFactory.eINSTANCE.createModeIndicator();
    FrequencyIndicator textFrequencyIndicator=IndicatorsFactory.eINSTANCE.createFrequencyIndicator();
    MeanIndicator doubleMeanIndicator=IndicatorsFactory.eINSTANCE.createMeanIndicator();
    MeanIndicator integerMeanIndicator=IndicatorsFactory.eINSTANCE.createMeanIndicator();
    MedianIndicator medianIndicator=IndicatorsFactory.eINSTANCE.createMedianIndicator();
    SumIndicator integerSumIndicator=IndicatorsFactory.eINSTANCE.createSumIndicator();
    addIndicator(columnsArray[0],medianIndicator);
    addIndicator(columnsArray[1],doubleMeanIndicator);
    addIndicator(columnsArray[2],blankCountIndicator);
    addIndicator(columnsArray[5],nullCountIndicator);
    addIndicator(columnsArray[3],rowCountIndicator);
    addIndicator(columnsArray[5],integerSumIndicator);
    addIndicator(columnsArray[5],integerMeanIndicator);
    addIndicator(columnsArray[2],averageLengthIndicator);
    addIndicator(columnsArray[3],averageLengthIndicator2);
    addIndicator(columnsArray[3],minLengthIndicator);
    addIndicator(columnsArray[3],maxLengthIndicator);
    String selectCols=sqlSelectColumns(database,tableName,columns);
    QueryExpression queryExpression=DatatypesFactory.eINSTANCE.createQueryExpression();
    queryExpression.setBody(selectCols);
    queryExpression.setLanguage("String_Node_Str");
    tt.start("String_Node_Str");
    evaluator.setFetchSize(10000);
    evaluator.evaluateIndicators(selectCols);
    tt.end("String_Node_Str");
    System.out.println("String_Node_Str" + medianIndicator.getMedian());
    System.out.println("String_Node_Str" + textFrequencyIndicator.getUniqueValueCount());
    System.out.println("String_Node_Str" + textFrequencyIndicator.getDistinctValueCount());
    for (    String col : columns) {
      printIndicators(evaluator.getIndicators(col));
    }
    tt.start("String_Node_Str");
    util.save();
    tt.end("String_Node_Str" + file.getAbsolutePath());
    tt.end();
    CwmResource cwmR=(CwmResource)resource;
    String id=cwmR.getID(medianIndicator);
    System.out.println("String_Node_Str" + EcoreUtil.getID(medianIndicator));
    System.out.println("String_Node_Str" + id);
  }
 catch (  SQLException e) {
    e.printStackTrace();
  }
catch (  InstantiationException e) {
    e.printStackTrace();
  }
catch (  IllegalAccessException e) {
    e.printStackTrace();
  }
catch (  ClassNotFoundException e) {
    e.printStackTrace();
  }
}

Fixed version (ground truth):
/** 
 * DOC scorreia Comment method "main".
 * @param args
 */
public static void main(String[] args){
  TypedProperties connectionParams=PropertiesLoader.getProperties(IndicatorEvaluator.class,"String_Node_Str");
  String driverClassName=connectionParams.getProperty("String_Node_Str");
  String dbUrl=connectionParams.getProperty("String_Node_Str");
  try {
    TimeTracer tt=new TimeTracer("String_Node_Str",null);
    tt.start();
    Connection connection=ConnectionUtils.createConnection(dbUrl,driverClassName,connectionParams);
    String database="String_Node_Str";
    String tableName="String_Node_Str";
    String[] columnsArray=new String[]{"String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str","String_Node_Str"};
    List<String> columns=Arrays.asList(columnsArray);
    File file=new File("String_Node_Str" + IndicatorsPackage.eNAME);
    EMFUtil util=EMFUtil.getInstance();
    Resource resource=util.getResourceSet().createResource(URI.createFileURI(file.getAbsolutePath()));
    rContents=resource.getContents();
    evaluator.setConnection(connection);
    RowCountIndicator rowCountIndicator=IndicatorsFactory.eINSTANCE.createRowCountIndicator();
    NullCountIndicator nullCountIndicator=IndicatorsFactory.eINSTANCE.createNullCountIndicator();
    DistinctCountIndicator distinctCountIndicator=IndicatorsFactory.eINSTANCE.createDistinctCountIndicator();
    DistinctCountIndicator distinctCountIndicator2=IndicatorsFactory.eINSTANCE.createDistinctCountIndicator();
    UniqueCountIndicator uniqueCountIndicator=IndicatorsFactory.eINSTANCE.createUniqueCountIndicator();
    DuplicateCountIndicator duplicateCountIndicator=IndicatorsFactory.eINSTANCE.createDuplicateCountIndicator();
    BlankCountIndicator blankCountIndicator=IndicatorsFactory.eINSTANCE.createBlankCountIndicator();
    MinLengthIndicator minLengthIndicator=IndicatorsFactory.eINSTANCE.createMinLengthIndicator();
    MaxLengthIndicator maxLengthIndicator=IndicatorsFactory.eINSTANCE.createMaxLengthIndicator();
    AverageLengthIndicator averageLengthIndicator=IndicatorsFactory.eINSTANCE.createAverageLengthIndicator();
    AverageLengthIndicator averageLengthIndicator2=IndicatorsFactory.eINSTANCE.createAverageLengthIndicator();
    ModeIndicator modeIndicator=IndicatorsFactory.eINSTANCE.createModeIndicator();
    FrequencyIndicator textFrequencyIndicator=IndicatorsFactory.eINSTANCE.createFrequencyIndicator();
    MeanIndicator doubleMeanIndicator=IndicatorsFactory.eINSTANCE.createMeanIndicator();
    MeanIndicator integerMeanIndicator=IndicatorsFactory.eINSTANCE.createMeanIndicator();
    MedianIndicator medianIndicator=IndicatorsFactory.eINSTANCE.createMedianIndicator();
    SumIndicator integerSumIndicator=IndicatorsFactory.eINSTANCE.createSumIndicator();
    addIndicator(columnsArray[0],medianIndicator);
    addIndicator(columnsArray[1],doubleMeanIndicator);
    addIndicator(columnsArray[2],blankCountIndicator);
    addIndicator(columnsArray[5],nullCountIndicator);
    addIndicator(columnsArray[3],rowCountIndicator);
    addIndicator(columnsArray[5],integerSumIndicator);
    addIndicator(columnsArray[5],integerMeanIndicator);
    addIndicator(columnsArray[2],averageLengthIndicator);
    addIndicator(columnsArray[3],averageLengthIndicator2);
    addIndicator(columnsArray[3],minLengthIndicator);
    addIndicator(columnsArray[3],maxLengthIndicator);
    String selectCols=sqlSelectColumns(database,tableName,columns);
    QueryExpression queryExpression=DatatypesFactory.eINSTANCE.createQueryExpression();
    queryExpression.setBody(selectCols);
    queryExpression.setLanguage("String_Node_Str");
    tt.start("String_Node_Str");
    evaluator.setFetchSize(10000);
    evaluator.evaluateIndicators(selectCols);
    tt.end("String_Node_Str");
    System.out.println("String_Node_Str" + medianIndicator.getMedian());
    System.out.println("String_Node_Str" + textFrequencyIndicator.getUniqueValueCount());
    System.out.println("String_Node_Str" + textFrequencyIndicator.getDistinctValueCount());
    for (    String col : columns) {
      printIndicators(evaluator.getIndicators(col));
    }
    tt.start("String_Node_Str");
    util.save();
    tt.end("String_Node_Str" + file.getAbsolutePath());
    tt.end();
    CwmResource cwmR=(CwmResource)resource;
    String id=cwmR.getID(medianIndicator);
    System.out.println("String_Node_Str" + EcoreUtil.getID(medianIndicator));
    System.out.println("String_Node_Str" + id);
  }
 catch (  SQLException e) {
    e.printStackTrace();
  }
catch (  InstantiationException e) {
    e.printStackTrace();
  }
catch (  IllegalAccessException e) {
    e.printStackTrace();
  }
catch (  ClassNotFoundException e) {
    e.printStackTrace();
  }
}