Program: 6133
Project: 6133
Buggy source:
/** 
 * Gets the corresponding aggregation for a given aggregation type, field name, sourceID, and time interval
 */
@Path("String_Node_Str") @GET public void combinableAggregationGetter(HttpServiceRequest request,HttpServiceResponder responder,@PathParam("String_Node_Str") String fieldName,@PathParam("String_Node_Str") String aggregationType,@PathParam("String_Node_Str") String sourceID,@QueryParam("String_Node_Str") @DefaultValue("String_Node_Str") long startTimestamp,@QueryParam("String_Node_Str") @DefaultValue("String_Node_Str") long endTimestamp) throws IOException {
  ValuesRowKey valuesRowKeyStart=new ValuesRowKey(startTimestamp,fieldName,sourceID);
  ValuesRowKey valuesRowKeyEnd=new ValuesRowKey(endTimestamp + 1,fieldName,sourceID);
  try {
    Class<?> aggregationClass=Class.forName("String_Node_Str" + aggregationType);
    CombinableAggregationFunction aggregationClassInstance=(CombinableAggregationFunction)aggregationClass.newInstance();
    Scanner scanner=dataStore.scan(valuesRowKeyStart.getTableRowKey(),valuesRowKeyEnd.getTableRowKey());
    Row row;
    byte[] aggregationTypeBytes=Bytes.toBytes(aggregationType);
    try {
      while ((row=scanner.next()) != null) {
        Map<byte[],byte[]> columnsMapBytes=row.getColumns();
        byte[] output=columnsMapBytes.get(aggregationTypeBytes);
        if (output != null) {
          aggregationClassInstance.combine(output);
        }
      }
    }
  finally {
      scanner.close();
    }
    Object output=aggregationClassInstance.retrieveAggregation();
    if (output == null) {
      responder.sendString(HttpURLConnection.HTTP_NOT_FOUND,"String_Node_Str",Charsets.UTF_8);
    }
 else {
      responder.sendJson(HttpURLConnection.HTTP_OK,output);
    }
  }
 catch (  ClassNotFoundException|InstantiationException|IllegalAccessException e) {
    responder.sendString(HttpURLConnection.HTTP_NOT_FOUND,String.format("String_Node_Str",sourceID,fieldName),Charsets.UTF_8);
  }
catch (  ClassCastException e) {
    responder.sendString(HttpURLConnection.HTTP_BAD_REQUEST,"String_Node_Str",Charsets.UTF_8);
  }
}

Fixed version (ground truth):
/** 
 * Gets the corresponding aggregation for a given aggregation type, field name, sourceID, and time interval
 */
@Path("String_Node_Str") @GET public void combinableAggregationGetter(HttpServiceRequest request,HttpServiceResponder responder,@PathParam("String_Node_Str") String fieldName,@PathParam("String_Node_Str") String aggregationType,@PathParam("String_Node_Str") String sourceID,@QueryParam("String_Node_Str") @DefaultValue("String_Node_Str") long startTimestamp,@QueryParam("String_Node_Str") @DefaultValue("String_Node_Str") long endTimestamp) throws IOException {
  ValuesRowKey valuesRowKeyStart=new ValuesRowKey(startTimestamp,fieldName,sourceID);
  ValuesRowKey valuesRowKeyEnd=new ValuesRowKey(endTimestamp + 1,fieldName,sourceID);
  try {
    Class<?> aggregationClass=Class.forName("String_Node_Str" + aggregationType);
    CombinableAggregationFunction aggregationClassInstance=(CombinableAggregationFunction)aggregationClass.newInstance();
    Row row;
    byte[] aggregationTypeBytes=Bytes.toBytes(aggregationType);
    try (Scanner scanner=dataStore.scan(valuesRowKeyStart.getTableRowKey(),valuesRowKeyEnd.getTableRowKey())){
      while ((row=scanner.next()) != null) {
        Map<byte[],byte[]> columnsMapBytes=row.getColumns();
        byte[] output=columnsMapBytes.get(aggregationTypeBytes);
        if (output != null) {
          aggregationClassInstance.combine(output);
        }
      }
    }
     Object output=aggregationClassInstance.retrieveAggregation();
    if (output == null) {
      responder.sendString(HttpURLConnection.HTTP_NOT_FOUND,"String_Node_Str",Charsets.UTF_8);
    }
 else {
      responder.sendJson(HttpURLConnection.HTTP_OK,output);
    }
  }
 catch (  ClassNotFoundException|InstantiationException|IllegalAccessException e) {
    responder.sendString(HttpURLConnection.HTTP_NOT_FOUND,String.format("String_Node_Str",sourceID,fieldName),Charsets.UTF_8);
  }
catch (  ClassCastException e) {
    responder.sendString(HttpURLConnection.HTTP_BAD_REQUEST,"String_Node_Str",Charsets.UTF_8);
  }
}