Program: 59780
Project: 59780
Buggy source:
/** 
 * @param args
 * @throws FileNotFoundException 
 * @throws MalformedURLException 
 */
public static void main(String[] args) throws FileNotFoundException, MalformedURLException {
  int i=0;
  String doc=null;
  String jar=null;
  boolean tangTests=false;
  while (i < args.length) {
    if (args[i].equals("String_Node_Str")) {
      i++;
      doc=args[i];
    }
 else     if (args[i].equals("String_Node_Str")) {
      i++;
      jar=args[i];
    }
 else     if (args[i].equals("String_Node_Str")) {
      tangTests=true;
    }
    i++;
  }
  final Tint t;
  if (jar != null) {
    File f=new File(jar);
    if (!f.exists()) {
      throw new FileNotFoundException(jar);
    }
    t=new Tint(new URL[]{f.toURI().toURL()},tangTests);
  }
 else {
    t=new Tint(new URL[0],tangTests);
  }
  if (doc != null) {
    PrintStream out=new PrintStream(new FileOutputStream(new File(doc)));
    out.println("String_Node_Str");
    out.println("String_Node_Str");
    String currentPackage="String_Node_Str";
    for (    NamedParameterNode<?> n : t.getNames()) {
      String fullName=n.getFullName();
      String tok[]=fullName.split("String_Node_Str");
      StringBuffer sb=new StringBuffer(tok[0]);
      for (int j=1; j < tok.length; j++) {
        if (tok[j].matches("String_Node_Str") || j > 4) {
          break;
        }
 else         sb.append("String_Node_Str" + tok[j]);
      }
      String pack=sb.toString();
      if (!currentPackage.equals(pack)) {
        currentPackage=pack;
        out.println(t.endPackage());
        out.println(t.startPackage(currentPackage));
      }
      out.println(t.toHtmlString(n,currentPackage));
    }
    out.println(t.endPackage());
    out.println("String_Node_Str");
    out.println("String_Node_Str");
    for (    Field f : t.modules.keySet()) {
      String moduleName=ReflectionUtilities.getFullName(f);
      String declaringClassName=ReflectionUtilities.getFullName(f.getDeclaringClass());
      out.println("String_Node_Str" + moduleName + "String_Node_Str");
      out.println("String_Node_Str");
      out.println(t.modules.get(f).toPrettyString());
      out.println("String_Node_Str");
    }
    out.println("String_Node_Str");
    for (    String s : t.usages.keySet()) {
      out.println("String_Node_Str" + s + "String_Node_Str");
      for (      Node n : t.usages.getValuesForKey(s)) {
        out.println("String_Node_Str" + n.getFullName() + "String_Node_Str");
      }
    }
    out.println("String_Node_Str");
    out.close();
  }
}

Fixed version (ground truth):
/** 
 * @param args
 * @throws FileNotFoundException 
 * @throws MalformedURLException 
 */
public static void main(String[] args) throws FileNotFoundException, MalformedURLException {
  int i=0;
  String doc=null;
  String jar=null;
  boolean tangTests=false;
  while (i < args.length) {
    if (args[i].equals("String_Node_Str")) {
      i++;
      doc=args[i];
    }
 else     if (args[i].equals("String_Node_Str")) {
      i++;
      jar=args[i];
    }
 else     if (args[i].equals("String_Node_Str")) {
      tangTests=true;
    }
    i++;
  }
  final Tint t;
  if (jar != null) {
    File f=new File(jar);
    if (!f.exists()) {
      throw new FileNotFoundException(jar);
    }
    t=new Tint(new URL[]{f.toURI().toURL()},tangTests);
  }
 else {
    t=new Tint(new URL[0],tangTests);
  }
  if (doc != null) {
    PrintStream out=new PrintStream(new FileOutputStream(new File(doc)));
    out.println("String_Node_Str");
    out.println("String_Node_Str");
    String currentPackage="String_Node_Str";
    for (    Node n : t.getNamesUsedAndSet()) {
      String fullName=n.getFullName();
      String tok[]=fullName.split("String_Node_Str");
      StringBuffer sb=new StringBuffer(tok[0]);
      for (int j=1; j < tok.length; j++) {
        if (tok[j].matches("String_Node_Str") || j > 4) {
          break;
        }
 else         sb.append("String_Node_Str" + tok[j]);
      }
      String pack=sb.toString();
      if (!currentPackage.equals(pack)) {
        currentPackage=pack;
        out.println(t.endPackage());
        out.println(t.startPackage(currentPackage));
      }
      if (n instanceof NamedParameterNode<?>) {
        out.println(t.toHtmlString((NamedParameterNode<?>)n,currentPackage));
      }
 else       if (n instanceof ClassNode<?>) {
        out.println(t.toHtmlString((ClassNode<?>)n,currentPackage));
      }
 else {
        throw new IllegalStateException();
      }
    }
    out.println(t.endPackage());
    out.println("String_Node_Str");
    out.println("String_Node_Str");
    for (    Field f : t.modules.keySet()) {
      String moduleName=ReflectionUtilities.getFullName(f);
      String declaringClassName=ReflectionUtilities.getFullName(f.getDeclaringClass());
      out.println("String_Node_Str" + moduleName + "String_Node_Str");
      out.println("String_Node_Str");
      out.println(t.modules.get(f).toPrettyString());
      out.println("String_Node_Str");
    }
    out.println("String_Node_Str");
    for (    String s : t.usages.keySet()) {
      out.println("String_Node_Str" + s + "String_Node_Str");
      for (      Node n : t.usages.getValuesForKey(s)) {
        out.println("String_Node_Str" + n.getFullName() + "String_Node_Str");
      }
    }
    out.println("String_Node_Str");
    out.close();
  }
}