Program: 39785
Project: 39785
Buggy source:
private static boolean generateRun(Series s,int run){
  System.out.println("String_Node_Str" + run + "String_Node_Str");
  ArrayList<Single> runtimes=new ArrayList<Single>();
  File folder=new File(s.getSeriesFolderRun(run));
  if (folder.exists() && Config.getBoolean("String_Node_Str")) {
    System.out.println("String_Node_Str");
    return true;
  }
  Timer timer=new Timer("String_Node_Str" + s.getNetwork().getDescriptionShort());
  Graph g=s.getNetwork().generate();
  timer.end();
  runtimes.add(new Single("String_Node_Str",timer.getRuntime()));
  if (s.getNetwork().getTransformations() != null) {
    for (    Transformation t : s.getNetwork().getTransformations()) {
      if (t.applicable(g)) {
        timer=new Timer("String_Node_Str" + t.getDescriptionShort());
        for (int i=0; i < t.getTimes(); i++) {
          g=t.transform(g);
        }
        timer.end();
        runtimes.add(new Single(t.getFolderName(),timer.getRuntime()));
      }
 else {
        System.out.println("String_Node_Str" + t.getDescriptionShort() + "String_Node_Str");
      }
    }
  }
  if (Config.getBoolean("String_Node_Str")) {
    new GtnaGraphWriter().writeWithProperties(g,s.getGraphFilename(run));
  }
  StringBuffer p=new StringBuffer();
  ArrayList<String> properties=new ArrayList<String>(g.getProperties().size());
  for (  String gp : g.getProperties().keySet()) {
    properties.add(gp);
  }
  Collections.sort(properties);
  for (  String gp : properties) {
    if (p.length() == 0) {
      p.append(gp);
    }
 else {
      p.append("String_Node_Str" + gp);
    }
  }
  System.out.println("String_Node_Str" + p.toString());
  HashMap<String,Metric> metrics=new HashMap<String,Metric>();
  for (  Metric m : s.getMetrics()) {
    folder=new File(s.getMetricFolder(run,m));
    if (!m.applicable(g,s.getNetwork(),metrics)) {
      System.out.println("String_Node_Str" + m.getDescriptionShort() + "String_Node_Str");
      continue;
    }
    if (!folder.exists()) {
      folder.mkdirs();
    }
    timer=new Timer("String_Node_Str" + m.getDescriptionShort());
    m.computeData(g,s.getNetwork(),metrics);
    timer.end();
    runtimes.add(new Single(m.getFolderName(),timer.getRuntime()));
    m.writeData(s.getMetricFolder(run,m));
    SingleList singleList=new SingleList(m,m.getSingles());
    singleList.write(s.getSinglesFilenameRun(run,m));
    metrics.put(m.getKey(),m);
    metrics.put(m.getFolder(),m);
  }
  SingleList rt=new SingleList(null,runtimes);
  rt.write(s.getRuntimesFilenameRun(run));
  return true;
}

Fixed version (ground truth):
private static boolean generateRun(Series s,int run){
  System.out.println("String_Node_Str" + run + "String_Node_Str");
  ArrayList<Single> runtimes=new ArrayList<Single>();
  File folder=new File(s.getSeriesFolderRun(run));
  if (folder.exists() && Config.getBoolean("String_Node_Str")) {
    System.out.println("String_Node_Str");
    if (s.getNetwork() instanceof ReadableFolder) {
      ((ReadableFolder)s.getNetwork()).incIndex();
    }
    return true;
  }
  Timer timer=new Timer("String_Node_Str" + s.getNetwork().getDescriptionShort());
  Graph g=s.getNetwork().generate();
  timer.end();
  runtimes.add(new Single("String_Node_Str",timer.getRuntime()));
  if (s.getNetwork().getTransformations() != null) {
    for (    Transformation t : s.getNetwork().getTransformations()) {
      if (t.applicable(g)) {
        timer=new Timer("String_Node_Str" + t.getDescriptionShort());
        for (int i=0; i < t.getTimes(); i++) {
          g=t.transform(g);
        }
        timer.end();
        runtimes.add(new Single(t.getFolderName(),timer.getRuntime()));
      }
 else {
        System.out.println("String_Node_Str" + t.getDescriptionShort() + "String_Node_Str");
      }
    }
  }
  if (Config.getBoolean("String_Node_Str")) {
    new GtnaGraphWriter().writeWithProperties(g,s.getGraphFilename(run));
  }
  StringBuffer p=new StringBuffer();
  ArrayList<String> properties=new ArrayList<String>(g.getProperties().size());
  for (  String gp : g.getProperties().keySet()) {
    properties.add(gp);
  }
  Collections.sort(properties);
  for (  String gp : properties) {
    if (p.length() == 0) {
      p.append(gp);
    }
 else {
      p.append("String_Node_Str" + gp);
    }
  }
  System.out.println("String_Node_Str" + p.toString());
  HashMap<String,Metric> metrics=new HashMap<String,Metric>();
  for (  Metric m : s.getMetrics()) {
    folder=new File(s.getMetricFolder(run,m));
    if (!m.applicable(g,s.getNetwork(),metrics)) {
      System.out.println("String_Node_Str" + m.getDescriptionShort() + "String_Node_Str");
      continue;
    }
    if (!folder.exists()) {
      folder.mkdirs();
    }
    timer=new Timer("String_Node_Str" + m.getDescriptionShort());
    m.computeData(g,s.getNetwork(),metrics);
    timer.end();
    runtimes.add(new Single(m.getFolderName(),timer.getRuntime()));
    m.writeData(s.getMetricFolder(run,m));
    SingleList singleList=new SingleList(m,m.getSingles());
    singleList.write(s.getSinglesFilenameRun(run,m));
    metrics.put(m.getKey(),m);
    metrics.put(m.getFolder(),m);
  }
  SingleList rt=new SingleList(null,runtimes);
  rt.write(s.getRuntimesFilenameRun(run));
  return true;
}