Program: 40857
Project: 40857
Buggy source:
public static void main(String[] args){
  long start_time=System.currentTimeMillis();
  Options opts=new Options();
  opts.addOption("String_Node_Str","String_Node_Str",false,"String_Node_Str");
  CommandLineParser parser=new DefaultParser();
  CommandLine cmd;
  File avro=null;
  String file=null;
  try {
    cmd=parser.parse(opts,args);
    if (cmd.getArgList().size() != 1)     throw new ParseException("String_Node_Str");
    file=cmd.getArgList().get(0);
    if (cmd.hasOption("String_Node_Str")) {
      printHelp(opts);
      System.exit(0);
    }
  }
 catch (  ParseException e) {
    System.err.println(e.getMessage() + "String_Node_Str");
    printHelp(opts);
    System.exit(1);
  }
  try {
    avro=new File(file);
    if (!avro.exists() || avro.isDirectory()) {
      throw new FileNotFoundException("String_Node_Str");
    }
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str" + avro.getCanonicalPath());
    System.out.println("String_Node_Str" + avro.length() / Math.pow(1024,2) + "String_Node_Str");
    System.out.println("String_Node_Str" + avro.canRead());
    System.out.println("String_Node_Str" + new Date(avro.lastModified()).toString());
  }
 catch (  FileNotFoundException e) {
    System.err.println("String_Node_Str" + e.getMessage() + "String_Node_Str");
    e.printStackTrace();
    System.exit(1);
  }
catch (  IOException e) {
    e.printStackTrace();
    System.exit(1);
  }
  DatumReader<ModeSEncodedMessage> datumReader=new SpecificDatumReader<ModeSEncodedMessage>(ModeSEncodedMessage.class);
  long msgCount=0;
  try {
    DataFileReader<ModeSEncodedMessage> fileReader=new DataFileReader<ModeSEncodedMessage>(avro,datumReader);
    Schema schema=fileReader.getSchema();
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str" + schema.getType());
    System.out.println("String_Node_Str" + schema.getName());
    System.out.println("String_Node_Str" + schema.getNamespace());
    System.out.println("String_Node_Str" + schema.getFields().size() + "String_Node_Str");
    for (    Field field : schema.getFields())     System.out.println("String_Node_Str" + field);
    System.out.print("String_Node_Str");
    ModeSEncodedMessage record=new ModeSEncodedMessage();
    double min_time=Double.MAX_VALUE, max_time=Double.MIN_VALUE;
    HashMap<Integer,Long> sensors=new HashMap<Integer,Long>();
    int serial;
    Long serial_cnt;
    while (fileReader.hasNext()) {
      record=fileReader.next(record);
      msgCount++;
      if (record.getTimeAtServer() < min_time)       min_time=record.getTimeAtServer();
      if (record.getTimeAtServer() > max_time)       max_time=record.getTimeAtServer();
      serial=record.getSensorSerialNumber();
      serial_cnt=sensors.get(serial);
      sensors.put(serial,serial_cnt != null ? serial_cnt + 1 : 0L);
    }
    System.out.println(msgCount);
    System.out.println("String_Node_Str" + new Date((long)(min_time * 1000)).toString());
    System.out.println("String_Node_Str" + new Date((long)(max_time * 1000)).toString());
    System.out.println("String_Node_Str");
    for (    int key : sensors.keySet())     System.out.println("String_Node_Str" + key + "String_Node_Str"+ sensors.get(key));
    fileReader.close();
  }
 catch (  IOException e) {
    System.err.println("String_Node_Str" + e.getMessage());
    System.exit(1);
  }
catch (  Exception e) {
    System.err.println("String_Node_Str" + e.getMessage());
    e.printStackTrace();
    System.exit(1);
  }
  System.out.println("String_Node_Str" + (System.currentTimeMillis() - start_time) / 1000.0 + "String_Node_Str");
}

Fixed version (ground truth):
public static void main(String[] args){
  long start_time=System.currentTimeMillis();
  Options opts=new Options();
  opts.addOption("String_Node_Str","String_Node_Str",false,"String_Node_Str");
  CommandLineParser parser=new DefaultParser();
  CommandLine cmd;
  File avro=null;
  String file=null;
  try {
    cmd=parser.parse(opts,args);
    if (cmd.hasOption("String_Node_Str")) {
      printHelp(opts);
      System.exit(0);
    }
    if (cmd.getArgList().size() != 1)     throw new ParseException("String_Node_Str");
    file=cmd.getArgList().get(0);
  }
 catch (  ParseException e) {
    System.err.println(e.getMessage() + "String_Node_Str");
    printHelp(opts);
    System.exit(1);
  }
  try {
    avro=new File(file);
    if (!avro.exists() || avro.isDirectory()) {
      throw new FileNotFoundException("String_Node_Str");
    }
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str" + avro.getCanonicalPath());
    System.out.println("String_Node_Str" + avro.length() / Math.pow(1024,2) + "String_Node_Str");
    System.out.println("String_Node_Str" + avro.canRead());
    System.out.println("String_Node_Str" + new Date(avro.lastModified()).toString());
  }
 catch (  FileNotFoundException e) {
    System.err.println("String_Node_Str" + e.getMessage() + "String_Node_Str");
    e.printStackTrace();
    System.exit(1);
  }
catch (  IOException e) {
    e.printStackTrace();
    System.exit(1);
  }
  DatumReader<ModeSEncodedMessage> datumReader=new SpecificDatumReader<ModeSEncodedMessage>(ModeSEncodedMessage.class);
  long msgCount=0;
  try {
    DataFileReader<ModeSEncodedMessage> fileReader=new DataFileReader<ModeSEncodedMessage>(avro,datumReader);
    Schema schema=fileReader.getSchema();
    System.out.println("String_Node_Str");
    System.out.println("String_Node_Str" + schema.getType());
    System.out.println("String_Node_Str" + schema.getName());
    System.out.println("String_Node_Str" + schema.getNamespace());
    System.out.println("String_Node_Str" + schema.getFields().size() + "String_Node_Str");
    for (    Field field : schema.getFields())     System.out.println("String_Node_Str" + field);
    System.out.print("String_Node_Str");
    ModeSEncodedMessage record=new ModeSEncodedMessage();
    double min_time=Double.MAX_VALUE, max_time=Double.MIN_VALUE;
    HashMap<Integer,Long> sensors=new HashMap<Integer,Long>();
    int serial;
    Long serial_cnt;
    while (fileReader.hasNext()) {
      record=fileReader.next(record);
      msgCount++;
      if (record.getTimeAtServer() < min_time)       min_time=record.getTimeAtServer();
      if (record.getTimeAtServer() > max_time)       max_time=record.getTimeAtServer();
      serial=record.getSensorSerialNumber();
      serial_cnt=sensors.get(serial);
      sensors.put(serial,serial_cnt != null ? serial_cnt + 1 : 0L);
    }
    System.out.println(msgCount);
    System.out.println("String_Node_Str" + new Date((long)(min_time * 1000)).toString());
    System.out.println("String_Node_Str" + new Date((long)(max_time * 1000)).toString());
    System.out.println("String_Node_Str");
    for (    int key : sensors.keySet())     System.out.println("String_Node_Str" + key + "String_Node_Str"+ sensors.get(key));
    fileReader.close();
  }
 catch (  IOException e) {
    System.err.println("String_Node_Str" + e.getMessage());
    System.exit(1);
  }
catch (  Exception e) {
    System.err.println("String_Node_Str" + e.getMessage());
    e.printStackTrace();
    System.exit(1);
  }
  System.out.println("String_Node_Str" + (System.currentTimeMillis() - start_time) / 1000.0 + "String_Node_Str");
}