Program: 131537
Project: 131537
Buggy source:
public void addNaradowskyPairFeatures(int pidx,int aidx,BinaryStrFVBuilder feats){
  CoNLL09Token pred=sent.get(pidx);
  CoNLL09Token arg=sent.get(aidx);
  String predForm=decideForm(pred.getForm(),pidx);
  String argForm=decideForm(arg.getForm(),aidx);
  String predPos=pred.getPos();
  String argPos=arg.getPos();
  if (!prm.useGoldSyntax) {
    predPos=pred.getPpos();
    argPos=arg.getPpos();
  }
  String dir;
  int dist=Math.abs(aidx - pidx);
  if (aidx > pidx)   dir="String_Node_Str";
 else   if (aidx < pidx)   dir="String_Node_Str";
 else   dir="String_Node_Str";
  feats.add("String_Node_Str" + predForm + "String_Node_Str"+ argForm+ "String_Node_Str");
  feats.add("String_Node_Str" + predPos + "String_Node_Str"+ argPos+ "String_Node_Str");
  feats.add("String_Node_Str" + predForm + "String_Node_Str"+ argPos+ "String_Node_Str");
  feats.add("String_Node_Str" + predPos + "String_Node_Str"+ argForm+ "String_Node_Str");
  feats.add("String_Node_Str" + predForm + "String_Node_Str"+ argForm+ "String_Node_Str"+ predPos+ "String_Node_Str"+ argPos+ "String_Node_Str");
  feats.add("String_Node_Str" + predPos + "String_Node_Str"+ argPos+ "String_Node_Str"+ dist+ "String_Node_Str");
  feats.add("String_Node_Str" + predPos + "String_Node_Str"+ argPos+ "String_Node_Str"+ dir+ "String_Node_Str");
  feats.add("String_Node_Str" + predPos + "String_Node_Str"+ dist+ "String_Node_Str"+ dir+ "String_Node_Str");
  feats.add("String_Node_Str" + argPos + "String_Node_Str"+ dist+ "String_Node_Str"+ dir+ "String_Node_Str");
  feats.add("String_Node_Str" + sent.size());
  feats.add("String_Node_Str" + dir);
  feats.add("String_Node_Str" + dist);
  feats.add("String_Node_Str" + dir + dist);
  feats.add("String_Node_Str" + predForm + "String_Node_Str");
  feats.add("String_Node_Str" + predPos + "String_Node_Str");
  feats.add("String_Node_Str" + argForm + "String_Node_Str");
  feats.add("String_Node_Str" + argPos + "String_Node_Str");
  if (prm.withSupervision) {
    List<String> predFeats=pred.getFeat();
    List<String> argFeats=arg.getFeat();
    if (predFeats == null) {
      predFeats=new ArrayList<String>();
      predFeats.add("String_Node_Str");
    }
    if (argFeats == null) {
      argFeats=new ArrayList<String>();
      argFeats.add("String_Node_Str");
    }
    for (    String m1 : predFeats) {
      for (      String m2 : argFeats) {
        feats.add(m1 + "String_Node_Str" + m2+ "String_Node_Str");
      }
    }
  }
}

Fixed version (ground truth):
public void addNaradowskyPairFeatures(int pidx,int aidx,BinaryStrFVBuilder feats){
  CoNLL09Token pred=sent.get(pidx);
  CoNLL09Token arg=sent.get(aidx);
  String predForm=decideForm(pred.getForm(),pidx);
  String argForm=decideForm(arg.getForm(),aidx);
  String predPos=pred.getPos();
  String argPos=arg.getPos();
  if (!cs.prm.useGoldSyntax) {
    predPos=pred.getPpos();
    argPos=arg.getPpos();
  }
  String dir;
  int dist=Math.abs(aidx - pidx);
  if (aidx > pidx)   dir="String_Node_Str";
 else   if (aidx < pidx)   dir="String_Node_Str";
 else   dir="String_Node_Str";
  feats.add("String_Node_Str" + predForm + "String_Node_Str"+ argForm+ "String_Node_Str");
  feats.add("String_Node_Str" + predPos + "String_Node_Str"+ argPos+ "String_Node_Str");
  feats.add("String_Node_Str" + predForm + "String_Node_Str"+ argPos+ "String_Node_Str");
  feats.add("String_Node_Str" + predPos + "String_Node_Str"+ argForm+ "String_Node_Str");
  feats.add("String_Node_Str" + predForm + "String_Node_Str"+ argForm+ "String_Node_Str"+ predPos+ "String_Node_Str"+ argPos+ "String_Node_Str");
  feats.add("String_Node_Str" + predPos + "String_Node_Str"+ argPos+ "String_Node_Str"+ dist+ "String_Node_Str");
  feats.add("String_Node_Str" + predPos + "String_Node_Str"+ argPos+ "String_Node_Str"+ dir+ "String_Node_Str");
  feats.add("String_Node_Str" + predPos + "String_Node_Str"+ dist+ "String_Node_Str"+ dir+ "String_Node_Str");
  feats.add("String_Node_Str" + argPos + "String_Node_Str"+ dist+ "String_Node_Str"+ dir+ "String_Node_Str");
  feats.add("String_Node_Str" + sent.size());
  feats.add("String_Node_Str" + dir);
  feats.add("String_Node_Str" + dist);
  feats.add("String_Node_Str" + dir + dist);
  feats.add("String_Node_Str" + predForm + "String_Node_Str");
  feats.add("String_Node_Str" + predPos + "String_Node_Str");
  feats.add("String_Node_Str" + argForm + "String_Node_Str");
  feats.add("String_Node_Str" + argPos + "String_Node_Str");
  if (prm.withSupervision) {
    List<String> predFeats=pred.getFeat();
    List<String> argFeats=arg.getFeat();
    if (predFeats == null) {
      predFeats=new ArrayList<String>();
      predFeats.add("String_Node_Str");
    }
    if (argFeats == null) {
      argFeats=new ArrayList<String>();
      argFeats.add("String_Node_Str");
    }
    for (    String m1 : predFeats) {
      for (      String m2 : argFeats) {
        feats.add(m1 + "String_Node_Str" + m2+ "String_Node_Str");
      }
    }
  }
}