Program: 84038
Project: 84038
Buggy source:
public static void main(String[] args){
  for (int i=1; i < args.length; i++) {
    addStates(args[i]);
  }
  long now=System.nanoTime();
  initLogger();
  parser.parse(new CodeFile(args[0]),new ConfigParser(config));
  File sourceDir=config.sourceDir;
  File outputDir=config.outputDir;
  Package root=Package.rootPackage;
  int states=DyvilCompiler.states.size();
  int libs=config.libraries.size();
  logger.info("String_Node_Str" + sourceDir.getAbsolutePath() + "String_Node_Str"+ outputDir.getAbsolutePath());
  if (debug) {
    logger.info("String_Node_Str" + states + (states == 1 ? "String_Node_Str" : "String_Node_Str")+ DyvilCompiler.states);
  }
  if (DyvilCompiler.states.contains(CompilerState.RESOLVE_TYPES)) {
    for (    Library library : config.libraries) {
      library.loadLibrary();
    }
    Type.init();
    Util.logProfile(now,libs,"String_Node_Str" + libs + (libs == 1 ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
  }
  now=System.nanoTime();
  for (  String s : sourceDir.list()) {
    findUnits(new CodeFile(sourceDir,s),new File(outputDir,s),Package.rootPackage);
  }
  int units=root.units.size();
  int packages=root.subPackages.size();
  logger.info("String_Node_Str" + packages + (packages == 1 ? "String_Node_Str" : "String_Node_Str")+ units+ (units == 1 ? "String_Node_Str" : "String_Node_Str"));
  logger.info("String_Node_Str");
  for (  CompilerState state : DyvilCompiler.states) {
    CompilerState.applyState(state,root.units);
  }
  logger.info("String_Node_Str");
  Util.logProfile(now,units,"String_Node_Str");
}

Fixed version (ground truth):
public static void main(String[] args){
  for (int i=1; i < args.length; i++) {
    addStates(args[i]);
  }
  long now=System.nanoTime();
  initLogger();
  parser.parse(new CodeFile(args[0]),new ConfigParser(config));
  File sourceDir=config.sourceDir;
  File outputDir=config.outputDir;
  Package root=Package.rootPackage;
  int states=DyvilCompiler.states.size();
  int libs=config.libraries.size();
  logger.info("String_Node_Str" + sourceDir.getAbsolutePath() + "String_Node_Str"+ outputDir.getAbsolutePath());
  if (debug) {
    logger.info("String_Node_Str" + states + (states == 1 ? "String_Node_Str" : "String_Node_Str")+ DyvilCompiler.states);
  }
  if (DyvilCompiler.states.contains(CompilerState.RESOLVE_TYPES)) {
    for (    Library library : config.libraries) {
      library.loadLibrary();
    }
    Package.init();
    Type.init();
    Util.logProfile(now,libs,"String_Node_Str" + libs + (libs == 1 ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
  }
  now=System.nanoTime();
  for (  String s : sourceDir.list()) {
    findUnits(new CodeFile(sourceDir,s),new File(outputDir,s),Package.rootPackage);
  }
  int units=root.units.size();
  int packages=root.subPackages.size();
  logger.info("String_Node_Str" + packages + (packages == 1 ? "String_Node_Str" : "String_Node_Str")+ units+ (units == 1 ? "String_Node_Str" : "String_Node_Str"));
  logger.info("String_Node_Str");
  for (  CompilerState state : DyvilCompiler.states) {
    CompilerState.applyState(state,root.units);
  }
  logger.info("String_Node_Str");
  Util.logProfile(now,units,"String_Node_Str");
}