Program: 44203
Project: 44203
Buggy source:
public Map<String,Integer> swipeView(File viewroot,boolean excludeRoot){
  logger.debug(viewroot.toString());
  File[] files=viewroot.listFiles();
  String fls="String_Node_Str";
  List<File> other=new ArrayList<File>();
  List<File> root=new ArrayList<File>();
  for (  File f : files) {
    if (!f.canWrite()) {
      logger.debug(f + "String_Node_Str");
      continue;
    }
    if (f.isDirectory()) {
      if (IsVob(f)) {
        fls+="String_Node_Str" + f.getAbsolutePath() + "String_Node_Str";
      }
 else {
        other.add(f);
      }
    }
 else {
      if (f.getName().equalsIgnoreCase("String_Node_Str")) {
        continue;
      }
      root.add(f);
    }
  }
  for (  File f : other) {
    if (UCM.isVerbose()) {
      logger.debug("String_Node_Str" + f);
    }
    net.praqma.util.io.IO.deleteDirectory(f);
  }
  Map<String,Integer> info=new HashMap<String,Integer>();
  info.put("String_Node_Str",1);
  if (fls.length() == 0) {
    logger.debug("String_Node_Str");
    return info;
  }
  String cmd="String_Node_Str" + fls;
  List<String> result=Cleartool.run(cmd).stdoutList;
  List<File> rnew=new ArrayList<File>();
  if (!excludeRoot) {
    rnew.addAll(root);
  }
  int total=result.size() + rnew.size();
  info.put("String_Node_Str",total);
  for (  String s : result) {
    if (s.matches(rx_co_file) || s.matches(rx_keep_file) || s.matches(rx_ctr_file)) {
      continue;
    }
    rnew.add(new File(s));
  }
  logger.debug("String_Node_Str" + total + "String_Node_Str"+ (total - rnew.size())+ "String_Node_Str");
  List<File> dirs=new ArrayList<File>();
  int dircount=0;
  int filecount=0;
  for (  File f : rnew) {
    if (f.exists()) {
      if (f.isDirectory()) {
        dirs.add(f);
      }
 else {
        f.delete();
        filecount++;
      }
    }
 else {
      logger.debug("String_Node_Str" + f + "String_Node_Str");
    }
  }
  info.put("String_Node_Str",filecount);
  for (  File d : dirs) {
    try {
      d.delete();
      dircount++;
    }
 catch (    SecurityException e) {
      logger.debug("String_Node_Str" + d + "String_Node_Str");
    }
  }
  info.put("String_Node_Str",dircount);
  logger.debug("String_Node_Str" + dircount + "String_Node_Str"+ (dircount == 1 ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ filecount+ "String_Node_Str"+ (filecount == 1 ? "String_Node_Str" : "String_Node_Str"));
  if (dircount + filecount == total) {
    info.put("String_Node_Str",1);
  }
 else {
    logger.warning("String_Node_Str");
    info.put("String_Node_Str",0);
  }
  return info;
}

Fixed version (ground truth):
public Map<String,Integer> swipeView(File viewroot,boolean excludeRoot){
  logger.debug(viewroot.toString());
  File[] files=viewroot.listFiles();
  String fls="String_Node_Str";
  List<File> notVobs=new ArrayList<File>();
  List<File> rootVPFiles=new ArrayList<File>();
  for (  File f : files) {
    if (!f.canWrite()) {
      logger.debug(f + "String_Node_Str");
      continue;
    }
    if (f.isDirectory()) {
      if (IsVob(f)) {
        fls+="String_Node_Str" + f.getAbsolutePath() + "String_Node_Str";
      }
 else {
        notVobs.add(f);
      }
    }
 else {
      if (f.getName().equalsIgnoreCase("String_Node_Str")) {
        continue;
      }
      rootVPFiles.add(f);
    }
  }
  for (  File notVob : notVobs) {
    if (UCM.isVerbose()) {
      logger.debug("String_Node_Str" + notVob);
    }
    net.praqma.util.io.IO.deleteDirectory(notVob);
  }
  Map<String,Integer> info=new HashMap<String,Integer>();
  info.put("String_Node_Str",1);
  if (fls.length() == 0) {
    logger.debug("String_Node_Str");
    return info;
  }
  String cmd="String_Node_Str" + fls;
  List<String> result=Cleartool.run(cmd).stdoutList;
  List<File> vpFiles=new ArrayList<File>();
  if (!excludeRoot) {
    vpFiles.addAll(rootVPFiles);
  }
  for (  String vpFile : result) {
    if (vpFile.matches(rx_co_file) || vpFile.matches(rx_keep_file) || vpFile.matches(rx_ctr_file)) {
      continue;
    }
    vpFiles.add(new File(vpFile));
  }
  int total=vpFiles.size();
  info.put("String_Node_Str",total);
  logger.debug("String_Node_Str" + total + "String_Node_Str"+ (total - vpFiles.size())+ "String_Node_Str");
  List<File> dirs=new ArrayList<File>();
  int dircount=0;
  int filecount=0;
  logger.verbose("String_Node_Str");
  for (  File f : vpFiles) {
    if (f.exists()) {
      if (f.isDirectory()) {
        dirs.add(f);
      }
 else {
        logger.verbose("String_Node_Str" + f);
        f.delete();
        filecount++;
      }
    }
 else {
      logger.debug("String_Node_Str" + f + "String_Node_Str");
    }
  }
  info.put("String_Node_Str",filecount);
  logger.verbose("String_Node_Str");
  for (  File d : dirs) {
    try {
      logger.verbose("String_Node_Str" + d);
      d.delete();
      dircount++;
    }
 catch (    SecurityException e) {
      logger.debug("String_Node_Str" + d + "String_Node_Str");
    }
  }
  info.put("String_Node_Str",dircount);
  logger.debug("String_Node_Str" + dircount + "String_Node_Str"+ (dircount == 1 ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str"+ filecount+ "String_Node_Str"+ (filecount == 1 ? "String_Node_Str" : "String_Node_Str"));
  if (dircount + filecount == total) {
    info.put("String_Node_Str",1);
  }
 else {
    logger.warning("String_Node_Str");
    info.put("String_Node_Str",0);
  }
  return info;
}