Program: 91221
Project: 91221
Buggy source:
public static void work(){
  OutputStreamWriter out=null;
  Connection con=null;
  Connection shadowCon=null;
  Statement stmt=null;
  Statement shadowStmt=null;
  HeaderData header=new HeaderData();
  VisitData visits[]=new VisitData[MAX_VISIT_CNT];
  for (int i=0; i < MAX_VISIT_CNT; i++) {
    visits[i]=new VisitData();
  }
  try {
    Properties sourceProps=loadProperties("String_Node_Str");
    Properties shadowProps=loadProperties("String_Node_Str");
    out=new OutputStreamWriter(new FileOutputStream(companionProps.getProperty("String_Node_Str")),"String_Node_Str");
    Class.forName(sourceProps.getProperty("String_Node_Str"));
    con=DriverManager.getConnection(sourceProps.getProperty("String_Node_Str"));
    stmt=con.createStatement();
    Class.forName(shadowProps.getProperty("String_Node_Str"));
    shadowCon=DriverManager.getConnection(shadowProps.getProperty("String_Node_Str"),shadowProps.getProperty("String_Node_Str"),shadowProps.getProperty("String_Node_Str"));
    shadowStmt=shadowCon.createStatement();
    String tableList="String_Node_Str" + sourceProps.getProperty("String_Node_Str").replace("String_Node_Str","String_Node_Str") + "String_Node_Str";
    if ("String_Node_Str".equals(tableList) || tableList == null) {
      log(Level.SEVERE,"String_Node_Str",1);
    }
    java.util.Date now=Calendar.getInstance().getTime();
    String transSince=new SimpleDateFormat("String_Node_Str").format(now.getTime() - new Long(companionProps.getProperty("String_Node_Str")) * 1000);
    if ("String_Node_Str".equals(transSince) || transSince == null) {
      log(Level.SEVERE,"String_Node_Str" + transSince + "String_Node_Str",1);
    }
    ResultSet rs=shadowStmt.executeQuery("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str" + tableList + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ transSince+ "String_Node_Str");
    ArrayList<String> shadowPids=new ArrayList<String>();
    while (rs.next()) {
      shadowPids.add(rs.getString("String_Node_Str").replace("String_Node_Str","String_Node_Str"));
    }
    rs=stmt.executeQuery("String_Node_Str" + "String_Node_Str");
    ArrayList<String> cpadPids=new ArrayList<String>();
    while (rs.next()) {
      cpadPids.add(rs.getString("String_Node_Str").replace("String_Node_Str","String_Node_Str"));
    }
    ArrayList<String> cpadPidsToRemove=new ArrayList<String>();
    for (int i=0; i < cpadPids.size(); i++) {
      if (!shadowPids.contains(cpadPids.get(i))) {
        cpadPidsToRemove.add(cpadPids.get(i));
      }
    }
    cpadPids.removeAll(cpadPidsToRemove);
    int recCnt=cpadPids.size();
    if (recCnt == 0) {
      log(Level.INFO,"String_Node_Str" + transSince + "String_Node_Str",false);
    }
    Logger.getLogger(CpadDataExtract.class.getName()).log(Level.INFO,"String_Node_Str",new Object[]{recCnt,recCnt == 1 ? "String_Node_Str" : "String_Node_Str"});
    PreparedStatement headerStmts[]=new PreparedStatement[6];
    headerStmts[0]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    headerStmts[1]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str");
    headerStmts[2]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    headerStmts[3]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    headerStmts[4]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str");
    headerStmts[5]=con.prepareStatement("String_Node_Str" + "String_Node_Str");
    PreparedStatement visitStmts[]=new PreparedStatement[9];
    visitStmts[0]=con.prepareStatement("String_Node_Str");
    visitStmts[1]=con.prepareStatement("String_Node_Str" + MAX_VISIT_CNT + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[2]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[3]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[4]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[5]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[6]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[7]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[8]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str");
    int cnt=0;
    for (int a=0; a < cpadPids.size(); a++) {
      int pid=Integer.parseInt(cpadPids.get(a));
      header.reset();
      ExtractHeaderData(headerStmts,pid,header,companionProps);
      for (int i=0; i < MAX_VISIT_CNT; i++) {
        visits[i].reset();
      }
      ExtractVisitData(visitStmts,pid,visits);
      String finalCsv="String_Node_Str";
      finalCsv+=header.printHeaderDelim("String_Node_Str");
      finalCsv+="String_Node_Str";
      for (int i=0; i < FILLER_CNT; i++) {
        finalCsv+="String_Node_Str";
      }
      for (int i=0; i < visits.length; i++) {
        finalCsv+=visits[i].printHeaderDelim("String_Node_Str");
        if (i < visits.length - 1) {
          finalCsv+="String_Node_Str";
        }
      }
      out.write(finalCsv + "String_Node_Str");
      if (++cnt % 100 == 0) {
        Logger.getLogger(CpadDataExtract.class.getName()).log(Level.INFO,"String_Node_Str",cnt);
      }
    }
    if ("String_Node_Str".equalsIgnoreCase(companionProps.getProperty("String_Node_Str"))) {
      if (!"String_Node_Str".equals(companionProps.getProperty("String_Node_Str")) && companionProps.getProperty("String_Node_Str") != null) {
        if (sendMessage(companionProps.getProperty("String_Node_Str"),companionProps.getProperty("String_Node_Str"))) {
          Logger.getLogger(CpadDataExtract.class.getName()).log(Level.INFO,"String_Node_Str");
        }
 else {
          Logger.getLogger(CpadDataExtract.class.getName()).log(Level.INFO,"String_Node_Str");
        }
      }
 else {
        Logger.getLogger(CpadDataExtract.class.getName()).log(Level.INFO,"String_Node_Str");
      }
    }
    Logger.getLogger(CpadDataExtract.class.getName()).log(Level.INFO,"String_Node_Str");
  }
 catch (  ClassNotFoundException e) {
    System.out.println(e.toString());
  }
catch (  SQLException e) {
    System.out.println(e.toString());
  }
catch (  IOException e) {
    System.out.println(e.toString());
  }
 finally {
    try {
      if (out != null) {
        out.close();
      }
      if (con != null) {
        con.close();
      }
      if (stmt != null) {
        stmt.close();
      }
      if (shadowCon != null) {
        shadowCon.close();
      }
      if (shadowStmt != null) {
        shadowStmt.close();
      }
    }
 catch (    Exception ex) {
      Logger.getLogger(CpadDataExtract.class.getName()).log(Level.SEVERE,"String_Node_Str",ex.getMessage());
    }
  }
}

Fixed version (ground truth):
public static void work(){
  OutputStreamWriter out=null;
  Connection con=null;
  Connection shadowCon=null;
  Statement stmt=null;
  Statement shadowStmt=null;
  HeaderData header=new HeaderData();
  VisitData visits[]=new VisitData[MAX_VISIT_CNT];
  for (int i=0; i < MAX_VISIT_CNT; i++) {
    visits[i]=new VisitData();
  }
  try {
    Properties sourceProps=loadProperties("String_Node_Str");
    Properties shadowProps=loadProperties("String_Node_Str");
    out=new OutputStreamWriter(new FileOutputStream(companionProps.getProperty("String_Node_Str")),"String_Node_Str");
    Class.forName(sourceProps.getProperty("String_Node_Str"));
    con=DriverManager.getConnection(sourceProps.getProperty("String_Node_Str"));
    stmt=con.createStatement();
    Class.forName(shadowProps.getProperty("String_Node_Str"));
    shadowCon=DriverManager.getConnection(shadowProps.getProperty("String_Node_Str"),shadowProps.getProperty("String_Node_Str"),shadowProps.getProperty("String_Node_Str"));
    shadowStmt=shadowCon.createStatement();
    String tableList="String_Node_Str" + sourceProps.getProperty("String_Node_Str").replace("String_Node_Str","String_Node_Str") + "String_Node_Str";
    if ("String_Node_Str".equals(tableList) || tableList == null) {
      log(Level.SEVERE,"String_Node_Str",1);
    }
    java.util.Date now=Calendar.getInstance().getTime();
    String transSince=new SimpleDateFormat("String_Node_Str").format(now.getTime() - new Long(companionProps.getProperty("String_Node_Str")) * 1000);
    if ("String_Node_Str".equals(transSince) || transSince == null) {
      log(Level.SEVERE,"String_Node_Str" + transSince + "String_Node_Str",1);
    }
    ResultSet rs=shadowStmt.executeQuery("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str" + tableList + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ transSince+ "String_Node_Str");
    ArrayList<String> shadowPids=new ArrayList<String>();
    while (rs.next()) {
      shadowPids.add(rs.getString("String_Node_Str").replace("String_Node_Str","String_Node_Str"));
    }
    rs=stmt.executeQuery("String_Node_Str" + "String_Node_Str");
    ArrayList<String> cpadPids=new ArrayList<String>();
    while (rs.next()) {
      cpadPids.add(rs.getString("String_Node_Str").replace("String_Node_Str","String_Node_Str"));
    }
    ArrayList<String> cpadPidsToRemove=new ArrayList<String>();
    for (int i=0; i < cpadPids.size(); i++) {
      if (!shadowPids.contains(cpadPids.get(i))) {
        cpadPidsToRemove.add(cpadPids.get(i));
      }
    }
    cpadPids.removeAll(cpadPidsToRemove);
    int recCnt=cpadPids.size();
    if (recCnt == 0) {
      log(Level.INFO,"String_Node_Str" + transSince + "String_Node_Str",false);
    }
    Mediator.getLogger(CpadDataExtract.class.getName()).log(Level.INFO,"String_Node_Str",new Object[]{recCnt,recCnt == 1 ? "String_Node_Str" : "String_Node_Str"});
    PreparedStatement headerStmts[]=new PreparedStatement[6];
    headerStmts[0]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    headerStmts[1]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str");
    headerStmts[2]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    headerStmts[3]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    headerStmts[4]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str");
    headerStmts[5]=con.prepareStatement("String_Node_Str" + "String_Node_Str");
    PreparedStatement visitStmts[]=new PreparedStatement[9];
    visitStmts[0]=con.prepareStatement("String_Node_Str");
    visitStmts[1]=con.prepareStatement("String_Node_Str" + MAX_VISIT_CNT + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[2]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[3]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[4]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[5]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[6]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[7]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str"+ "String_Node_Str");
    visitStmts[8]=con.prepareStatement("String_Node_Str" + "String_Node_Str" + "String_Node_Str"+ "String_Node_Str");
    int cnt=0;
    for (int a=0; a < cpadPids.size(); a++) {
      int pid=Integer.parseInt(cpadPids.get(a));
      header.reset();
      ExtractHeaderData(headerStmts,pid,header,companionProps);
      for (int i=0; i < MAX_VISIT_CNT; i++) {
        visits[i].reset();
      }
      ExtractVisitData(visitStmts,pid,visits);
      String finalCsv="String_Node_Str";
      finalCsv+=header.printHeaderDelim("String_Node_Str");
      finalCsv+="String_Node_Str";
      for (int i=0; i < FILLER_CNT; i++) {
        finalCsv+="String_Node_Str";
      }
      for (int i=0; i < visits.length; i++) {
        finalCsv+=visits[i].printHeaderDelim("String_Node_Str");
        if (i < visits.length - 1) {
          finalCsv+="String_Node_Str";
        }
      }
      out.write(finalCsv + "String_Node_Str");
      if (++cnt % 100 == 0) {
        Mediator.getLogger(CpadDataExtract.class.getName()).log(Level.INFO,"String_Node_Str",cnt);
      }
    }
    if ("String_Node_Str".equalsIgnoreCase(companionProps.getProperty("String_Node_Str"))) {
      if (!"String_Node_Str".equals(companionProps.getProperty("String_Node_Str")) && companionProps.getProperty("String_Node_Str") != null) {
        if (sendMessage(companionProps.getProperty("String_Node_Str"),companionProps.getProperty("String_Node_Str"))) {
          Mediator.getLogger(CpadDataExtract.class.getName()).log(Level.INFO,"String_Node_Str");
        }
 else {
          Mediator.getLogger(CpadDataExtract.class.getName()).log(Level.INFO,"String_Node_Str");
        }
      }
 else {
        Mediator.getLogger(CpadDataExtract.class.getName()).log(Level.INFO,"String_Node_Str");
      }
    }
    Mediator.getLogger(CpadDataExtract.class.getName()).log(Level.INFO,"String_Node_Str");
  }
 catch (  ClassNotFoundException e) {
    System.out.println(e.toString());
  }
catch (  SQLException e) {
    System.out.println(e.toString());
  }
catch (  IOException e) {
    System.out.println(e.toString());
  }
 finally {
    try {
      if (out != null) {
        out.close();
      }
      if (con != null) {
        con.close();
      }
      if (stmt != null) {
        stmt.close();
      }
      if (shadowCon != null) {
        shadowCon.close();
      }
      if (shadowStmt != null) {
        shadowStmt.close();
      }
    }
 catch (    Exception ex) {
      Mediator.getLogger(CpadDataExtract.class.getName()).log(Level.SEVERE,"String_Node_Str",ex.getMessage());
    }
  }
}