Program: 3048
Project: 3048
Buggy source:
public boolean run(CommandLine cline){
  if (!cline.hasOption("String_Node_Str")) {
    setErrorMessage("String_Node_Str");
    return false;
  }
  if (!cline.hasOption("String_Node_Str")) {
    setErrorMessage("String_Node_Str");
    return false;
  }
  if (!cline.hasOption("String_Node_Str")) {
    setErrorMessage("String_Node_Str");
    return false;
  }
  String netfile=cline.getOptionValue("String_Node_Str");
  Net net=Net.load(netfile);
  String progFile=cline.getOptionValue("String_Node_Str");
  String outDir=cline.getOptionValue("String_Node_Str");
  int bins=100;
  if (cline.hasOption("String_Node_Str")) {
    bins=new Integer(cline.getOptionValue("String_Node_Str"));
  }
  int trials=50;
  if (cline.hasOption("String_Node_Str")) {
    trials=new Integer(cline.getOptionValue("String_Node_Str"));
  }
  int runs=1;
  if (cline.hasOption("String_Node_Str")) {
    runs=new Integer(cline.getOptionValue("String_Node_Str"));
  }
  boolean directed=true;
  System.out.println(net);
  boolean append=false;
  for (int i=0; i < runs; i++) {
    System.out.println("String_Node_Str" + i);
    Generator gen=new Generator(net.getNodeCount(),net.getEdgeCount(),directed,trials);
    gen.load(progFile);
    gen.run();
    Net syntNet=gen.getNet();
    syntNet.save(outDir + "String_Node_Str" + i+ "String_Node_Str",NetFileType.SNAP);
    DiscreteDistrib inDegrees=new DiscreteDistrib(syntNet.inDegSeq());
    DiscreteDistrib outDegrees=new DiscreteDistrib(syntNet.outDegSeq());
    Distrib dPageRank=new Distrib(syntNet.prDSeq(),bins);
    Distrib uPageRank=new Distrib(syntNet.prUSeq(),bins);
    DiscreteDistrib dDistsDist=gen.getDistMatrixD().getDistrib();
    DiscreteDistrib uDistsDist=gen.getDistMatrixU().getDistrib();
    inDegrees.write(outDir + "String_Node_Str",append);
    outDegrees.write(outDir + "String_Node_Str",append);
    dPageRank.write(outDir + "String_Node_Str",append);
    uPageRank.write(outDir + "String_Node_Str",append);
    (new TriadicProfile(syntNet)).write(outDir + "String_Node_Str",append);
    dDistsDist.write(outDir + "String_Node_Str",append);
    uDistsDist.write(outDir + "String_Node_Str",append);
    append=true;
  }
  System.out.println("String_Node_Str");
  return true;
}

Fixed version (ground truth):
public boolean run(CommandLine cline){
  if (!cline.hasOption("String_Node_Str")) {
    setErrorMessage("String_Node_Str");
    return false;
  }
  if (!cline.hasOption("String_Node_Str")) {
    setErrorMessage("String_Node_Str");
    return false;
  }
  if (!cline.hasOption("String_Node_Str")) {
    setErrorMessage("String_Node_Str");
    return false;
  }
  String netfile=cline.getOptionValue("String_Node_Str");
  Net net=Net.load(netfile);
  String progFile=cline.getOptionValue("String_Node_Str");
  String outDir=cline.getOptionValue("String_Node_Str");
  int bins=100;
  if (cline.hasOption("String_Node_Str")) {
    bins=new Integer(cline.getOptionValue("String_Node_Str"));
  }
  int trials=50;
  if (cline.hasOption("String_Node_Str")) {
    trials=new Integer(cline.getOptionValue("String_Node_Str"));
  }
  int runs=1;
  if (cline.hasOption("String_Node_Str")) {
    runs=new Integer(cline.getOptionValue("String_Node_Str"));
  }
  boolean directed=true;
  Distrib dPageRankReal=new Distrib(net.prDSeq(),bins);
  Distrib uPageRankReal=new Distrib(net.prUSeq(),bins);
  System.out.println(net);
  boolean append=false;
  for (int i=0; i < runs; i++) {
    System.out.println("String_Node_Str" + i);
    Generator gen=new Generator(net.getNodeCount(),net.getEdgeCount(),directed,trials);
    gen.load(progFile);
    gen.run();
    Net syntNet=gen.getNet();
    syntNet.save(outDir + "String_Node_Str" + i+ "String_Node_Str",NetFileType.SNAP);
    DiscreteDistrib inDegrees=new DiscreteDistrib(syntNet.inDegSeq());
    DiscreteDistrib outDegrees=new DiscreteDistrib(syntNet.outDegSeq());
    Distrib dPageRank=new Distrib(syntNet.prDSeq(),bins,dPageRankReal);
    Distrib uPageRank=new Distrib(syntNet.prUSeq(),bins,uPageRankReal);
    DiscreteDistrib dDistsDist=gen.getDistMatrixD().getDistrib();
    DiscreteDistrib uDistsDist=gen.getDistMatrixU().getDistrib();
    inDegrees.write(outDir + "String_Node_Str",append);
    outDegrees.write(outDir + "String_Node_Str",append);
    dPageRank.write(outDir + "String_Node_Str",append);
    uPageRank.write(outDir + "String_Node_Str",append);
    (new TriadicProfile(syntNet)).write(outDir + "String_Node_Str",append);
    dDistsDist.write(outDir + "String_Node_Str",append);
    uDistsDist.write(outDir + "String_Node_Str",append);
    append=true;
  }
  System.out.println("String_Node_Str");
  return true;
}