Program: 115313
Project: 115313
Buggy source:
private ArrayList<ExtractPropertyBean> findExtractProperties(){
  ArrayList<ExtractPropertyBean> ret=new ArrayList<ExtractPropertyBean>();
  int i=1;
  while (!getExtractField("String_Node_Str" + i).equals("String_Node_Str")) {
    ExtractPropertyBean epbean=new ExtractPropertyBean();
    epbean.setId(i);
    epbean.setFileName(getExtractField("String_Node_Str" + i));
    epbean.setFiledescription(getExtractField("String_Node_Str" + i));
    epbean.setHelpText(getExtractField("String_Node_Str" + i));
    epbean.setLinkText(getExtractField("String_Node_Str" + i));
    epbean.setFileLocation(getExtractField("String_Node_Str" + i));
    epbean.setFormat(getExtractField("String_Node_Str" + i));
    if (("String_Node_Str").equals(epbean.getFormat())) {
      epbean.setFormat("String_Node_Str");
    }
    epbean.setExportFileName(getExtractField("String_Node_Str" + i));
    String whichFunction=getExtractField("String_Node_Str" + i).toLowerCase();
    if ("String_Node_Str".equals(whichFunction)) {
      SqlProcessingFunction function=new SqlProcessingFunction(epbean);
      String whichSettings=getExtractField("String_Node_Str" + i + "String_Node_Str");
      if (!"String_Node_Str".equals(whichSettings)) {
        function.setDatabaseType(getExtractField(whichSettings + "String_Node_Str").toLowerCase());
        function.setDatabaseUrl(getExtractField(whichSettings + "String_Node_Str"));
        function.setDatabaseUsername(getExtractField(whichSettings + "String_Node_Str"));
        function.setDatabasePassword(getExtractField(whichSettings + "String_Node_Str"));
      }
 else {
        function.setDatabaseType(getField("String_Node_Str"));
        function.setDatabaseUrl(getField("String_Node_Str"));
        function.setDatabaseUsername(getField("String_Node_Str"));
        function.setDatabasePassword(getField("String_Node_Str"));
      }
      epbean.setPostProcessing(function);
    }
 else     if ("String_Node_Str".equals(whichFunction)) {
      epbean.setPostProcessing(new PdfProcessingFunction());
    }
 else     if ("String_Node_Str".equals(whichFunction)) {
      epbean.setPostProcessing(new SasProcessingFunction());
    }
 else {
      epbean.setPostProcessing(null);
    }
    ret.add(epbean);
    i++;
  }
  System.out.println("String_Node_Str" + ret.size() + "String_Node_Str");
  return ret;
}

Fixed version (ground truth):
private ArrayList<ExtractPropertyBean> findExtractProperties(){
  ArrayList<ExtractPropertyBean> ret=new ArrayList<ExtractPropertyBean>();
  int i=1;
  while (!getExtractField("String_Node_Str" + i).equals("String_Node_Str")) {
    ExtractPropertyBean epbean=new ExtractPropertyBean();
    epbean.setId(i);
    epbean.setFileName(getExtractField("String_Node_Str" + i));
    epbean.setFiledescription(getExtractField("String_Node_Str" + i));
    epbean.setHelpText(getExtractField("String_Node_Str" + i));
    epbean.setLinkText(getExtractField("String_Node_Str" + i));
    epbean.setFileLocation(getExtractField("String_Node_Str" + i));
    epbean.setFormat("String_Node_Str");
    epbean.setExportFileName(getExtractField("String_Node_Str" + i));
    String whichFunction=getExtractField("String_Node_Str" + i).toLowerCase();
    if ("String_Node_Str".equals(whichFunction)) {
      SqlProcessingFunction function=new SqlProcessingFunction(epbean);
      String whichSettings=getExtractField("String_Node_Str" + i + "String_Node_Str");
      if (!"String_Node_Str".equals(whichSettings)) {
        function.setDatabaseType(getExtractField(whichSettings + "String_Node_Str").toLowerCase());
        function.setDatabaseUrl(getExtractField(whichSettings + "String_Node_Str"));
        function.setDatabaseUsername(getExtractField(whichSettings + "String_Node_Str"));
        function.setDatabasePassword(getExtractField(whichSettings + "String_Node_Str"));
      }
 else {
        function.setDatabaseType(getField("String_Node_Str"));
        function.setDatabaseUrl(getField("String_Node_Str"));
        function.setDatabaseUsername(getField("String_Node_Str"));
        function.setDatabasePassword(getField("String_Node_Str"));
      }
      epbean.setPostProcessing(function);
    }
 else     if ("String_Node_Str".equals(whichFunction)) {
      epbean.setPostProcessing(new PdfProcessingFunction());
    }
 else     if ("String_Node_Str".equals(whichFunction)) {
      epbean.setPostProcessing(new SasProcessingFunction());
    }
 else {
      epbean.setPostProcessing(null);
    }
    ret.add(epbean);
    i++;
  }
  System.out.println("String_Node_Str" + ret.size() + "String_Node_Str");
  return ret;
}