Program: 98738
Project: 98738
Buggy source:
public static int runBackup(String path,final String dest,int compress,int encrypt){
  backplogger.info("String_Node_Str");
  backplogger.info("String_Node_Str" + dest + "String_Node_Str"+ compress+ "String_Node_Str"+ encrypt+ "String_Node_Str");
  DbConnect dbConnect=new DbConnect();
  int noOfFiles=0;
  List<MyFile> listOfFiles=null;
  listOfFiles=FileData.Read(path);
  List<MYSpFile> dListOfFiles=null;
  for (  final MyFile file : listOfFiles) {
    if ((compress != 0) && (encrypt != 0)) {
      String fzip=file.getName() + "String_Node_Str";
      try {
        compressFile(path + "String_Node_Str" + file.getName());
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      String fileName=path + "String_Node_Str" + fzip;
      String tempFileName=fileName + "String_Node_Str";
      try {
        copy(Cipher.ENCRYPT_MODE,fileName,tempFileName,"String_Node_Str");
        System.out.println("String_Node_Str");
        logger.info("String_Node_Str" + fzip);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      String fzipencrypt=file.getName() + "String_Node_Str";
      try {
        Despath=CreateFolder(dest);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      long FSize=FileData.getFileSize(path + "String_Node_Str" + fzip);
      int bandwidthSum=1024 * (((int)(Math.random() * 10) % 9) + 10);
      int packetVal=(int)(FSize / bandwidthSum);
      backplogger.info("String_Node_Str" + packetVal + "String_Node_Str"+ file.getSize()+ "String_Node_Str"+ Global.c1Bandwidth+ "String_Node_Str"+ Global.c2Bandwidth+ "String_Node_Str"+ Global.c3Bandwidth);
      int count=mySplit(path + Global.fs + fzipencrypt,Despath + Global.fs + fzipencrypt,packetVal);
      backplogger.info("String_Node_Str" + path + Global.fs+ file.getName()+ "String_Node_Str"+ count+ "String_Node_Str");
      noOfFiles++;
      try {
        dbConnect.saveFiles(fzipencrypt,file.getSize(),file.getHash(),file.getcDate());
        backplogger.info("String_Node_Str");
      }
 catch (      Exception e) {
        backplogger.error("String_Node_Str" + e);
      }
      backplogger.info("String_Node_Str" + file.getName());
    }
 else     if ((compress != 0) && (encrypt == 0)) {
      String fzip=file.getName() + "String_Node_Str";
      try {
        compressFile(path + "String_Node_Str" + file.getName());
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      String fzipencrypt=file.getName() + "String_Node_Str";
      try {
        Despath=CreateFolder(dest);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      long FSize=FileData.getFileSize(path + "String_Node_Str" + fzip);
      int bandwidthSum=1024 * (((int)(Math.random() * 10) % 9) + 10);
      int packetVal=(int)(file.getSize() / bandwidthSum);
      backplogger.info("String_Node_Str" + packetVal + "String_Node_Str"+ file.getSize()+ "String_Node_Str"+ Global.c1Bandwidth+ "String_Node_Str"+ Global.c2Bandwidth+ "String_Node_Str"+ Global.c3Bandwidth);
      int count=mySplit(path + Global.fs + fzipencrypt,Despath + Global.fs + fzipencrypt,packetVal);
      backplogger.info("String_Node_Str" + path + Global.fs+ file.getName()+ "String_Node_Str"+ count+ "String_Node_Str");
      noOfFiles++;
      try {
        dbConnect.saveFiles(fzip,file.getSize(),file.getHash(),file.getcDate());
        backplogger.info("String_Node_Str");
      }
 catch (      Exception e) {
        backplogger.error("String_Node_Str" + e);
      }
      backplogger.info("String_Node_Str" + file.getName());
    }
 else     if ((encrypt != 0) && (compress == 0)) {
      String fzip=file.getName();
      String fileName=path + "String_Node_Str" + fzip;
      String tempFileName=fileName + "String_Node_Str";
      try {
        copy(Cipher.ENCRYPT_MODE,fileName,tempFileName,"String_Node_Str");
        System.out.println("String_Node_Str");
        logger.info("String_Node_Str" + fzip);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      String fzipencrypt=file.getName() + "String_Node_Str";
      try {
        Despath=CreateFolder(dest);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      long FSize=FileData.getFileSize(path + "String_Node_Str" + fzip);
      int bandwidthSum=1024 * (((int)(Math.random() * 10) % 9) + 10);
      int packetVal=(int)(FSize / bandwidthSum);
      backplogger.info("String_Node_Str" + packetVal + "String_Node_Str"+ file.getSize()+ "String_Node_Str"+ Global.c1Bandwidth+ "String_Node_Str"+ Global.c2Bandwidth+ "String_Node_Str"+ Global.c3Bandwidth);
      int count=mySplit(path + Global.fs + fzipencrypt,Despath + Global.fs + fzipencrypt,packetVal);
      backplogger.info("String_Node_Str" + path + Global.fs+ file.getName()+ "String_Node_Str"+ count+ "String_Node_Str");
      noOfFiles++;
      try {
        dbConnect.saveFiles(file.getName(),file.getSize(),file.getHash(),file.getcDate());
        backplogger.info("String_Node_Str");
      }
 catch (      Exception e) {
        backplogger.error("String_Node_Str" + e);
      }
      backplogger.info("String_Node_Str" + file.getName());
    }
 else {
      String fnormal=file.getName();
      try {
        Despath=CreateFolder(dest);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      long FSize=FileData.getFileSize(path + "String_Node_Str" + fnormal);
      int bandwidthSum=1024 * (((int)(Math.random() * 10) % 9) + 10);
      int packetVal=(int)(file.getSize() / bandwidthSum);
      backplogger.info("String_Node_Str" + packetVal + "String_Node_Str"+ file.getSize()+ "String_Node_Str"+ Global.c1Bandwidth+ "String_Node_Str"+ Global.c2Bandwidth+ "String_Node_Str"+ Global.c3Bandwidth);
      int count=mySplit(path + Global.fs + fnormal,Despath + Global.fs + fnormal,packetVal);
      backplogger.info("String_Node_Str" + path + Global.fs+ file.getName()+ "String_Node_Str"+ count+ "String_Node_Str");
      noOfFiles++;
      try {
        dbConnect.saveFiles(file.getName(),file.getSize(),file.getHash(),file.getcDate());
        backplogger.info("String_Node_Str");
      }
 catch (      Exception e) {
        backplogger.error("String_Node_Str" + e);
      }
    }
    int[] raidArray=Sftp.raid(count);
    backplogger.info("String_Node_Str");
    for (int j=0; j < raidArray.length; ) {
      backplogger.info("String_Node_Str" + (j + 2) / 2 + "String_Node_Str" + raidArray[j] + "String_Node_Str" + "String_Node_Str" + raidArray[j + 1]);
      j=j + 2;
    }
    try {
      dListOfFiles=FileData.ReadSPFile(Despath,count,raidArray);
      for (      MYSpFile file2 : dListOfFiles) {
        dbConnect.saveSPFiles(file2.getFid(),file2.getName(),file2.getSize(),file2.getHash(),file2.getCloud(),file2.getRCloud());
      }
      backplogger.info("String_Node_Str");
    }
 catch (    Exception e) {
      backplogger.error("String_Node_Str" + e);
    }
    backplogger.info("String_Node_Str" + file.getName() + "String_Node_Str");
    Sftp.upload(dest + Global.fs + file.getName());
    backplogger.info("String_Node_Str" + file.getName() + "String_Node_Str");
    Sftp.upload1(dest + Global.fs + file.getName());
    backplogger.info("String_Node_Str" + file.getName() + "String_Node_Str");
    Sftp.upload2(dest + Global.fs + file.getName());
  }
  backplogger.info("String_Node_Str" + noOfFiles + "String_Node_Str"+ path);
  return 0;
}

Fixed version (ground truth):
public static int runBackup(String path,final String dest,int compress,int encrypt){
  backplogger.info("String_Node_Str");
  backplogger.info("String_Node_Str" + dest + "String_Node_Str"+ compress+ "String_Node_Str"+ encrypt+ "String_Node_Str");
  DbConnect dbConnect=new DbConnect();
  int noOfFiles=0;
  List<MyFile> listOfFiles=null;
  listOfFiles=FileData.Read(path);
  List<MYSpFile> dListOfFiles=null;
  for (  final MyFile file : listOfFiles) {
    if ((compress != 0) && (encrypt != 0)) {
      String fzip=file.getName() + "String_Node_Str";
      try {
        compressFile(path + "String_Node_Str" + file.getName());
        System.out.println("String_Node_Str" + fzip);
        logger.info("String_Node_Str" + fzip);
      }
 catch (      Exception e) {
        e.printStackTrace();
        logger.info("String_Node_Str" + fzip);
      }
      String fileName=path + "String_Node_Str" + fzip;
      String tempFileName=fileName + "String_Node_Str";
      try {
        copy(Cipher.ENCRYPT_MODE,fileName,tempFileName,"String_Node_Str");
        System.out.println("String_Node_Str");
        logger.info("String_Node_Str" + fzip);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      String fzipencrypt=file.getName() + "String_Node_Str";
      try {
        Despath=CreateFolder(dest);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      long FSize=FileData.getFileSize(path + "String_Node_Str" + fzip);
      int bandwidthSum=1024 * (((int)(Math.random() * 10) % 9) + 10);
      int packetVal=(int)(FSize / bandwidthSum);
      backplogger.info("String_Node_Str" + packetVal + "String_Node_Str"+ file.getSize()+ "String_Node_Str"+ Global.c1Bandwidth+ "String_Node_Str"+ Global.c2Bandwidth+ "String_Node_Str"+ Global.c3Bandwidth);
      count=mySplit(path + Global.fs + fzipencrypt,Despath + Global.fs + fzipencrypt,packetVal);
      backplogger.info("String_Node_Str" + path + Global.fs+ file.getName()+ "String_Node_Str"+ count+ "String_Node_Str");
      noOfFiles++;
      try {
        dbConnect.saveFiles(fzipencrypt,file.getSize(),file.getHash(),file.getcDate());
        backplogger.info("String_Node_Str");
      }
 catch (      Exception e) {
        backplogger.error("String_Node_Str" + e);
      }
      backplogger.info("String_Node_Str" + file.getName());
    }
 else     if ((compress != 0) && (encrypt == 0)) {
      String fzip=file.getName() + "String_Node_Str";
      try {
        compressFile(path + "String_Node_Str" + file.getName());
        System.out.println("String_Node_Str" + fzip);
        logger.info("String_Node_Str" + fzip);
      }
 catch (      Exception e) {
        e.printStackTrace();
        logger.info("String_Node_Str" + fzip);
      }
      String fzipencrypt=file.getName() + "String_Node_Str";
      try {
        Despath=CreateFolder(dest);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      long FSize=FileData.getFileSize(path + "String_Node_Str" + fzip);
      int bandwidthSum=1024 * (((int)(Math.random() * 10) % 9) + 10);
      int packetVal=(int)(file.getSize() / bandwidthSum);
      backplogger.info("String_Node_Str" + packetVal + "String_Node_Str"+ file.getSize()+ "String_Node_Str"+ Global.c1Bandwidth+ "String_Node_Str"+ Global.c2Bandwidth+ "String_Node_Str"+ Global.c3Bandwidth);
      count=mySplit(path + Global.fs + fzipencrypt,Despath + Global.fs + fzipencrypt,packetVal);
      backplogger.info("String_Node_Str" + path + Global.fs+ file.getName()+ "String_Node_Str"+ count+ "String_Node_Str");
      noOfFiles++;
      try {
        dbConnect.saveFiles(fzip,file.getSize(),file.getHash(),file.getcDate());
        backplogger.info("String_Node_Str");
      }
 catch (      Exception e) {
        backplogger.error("String_Node_Str" + e);
      }
      backplogger.info("String_Node_Str" + file.getName());
    }
 else     if ((encrypt != 0) && (compress == 0)) {
      String fzip=file.getName();
      String fileName=path + "String_Node_Str" + fzip;
      String tempFileName=fileName + "String_Node_Str";
      try {
        copy(Cipher.ENCRYPT_MODE,fileName,tempFileName,"String_Node_Str");
        System.out.println("String_Node_Str");
        logger.info("String_Node_Str" + fzip);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      String fzipencrypt=file.getName() + "String_Node_Str";
      try {
        Despath=CreateFolder(dest);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      long FSize=FileData.getFileSize(path + "String_Node_Str" + fzip);
      int bandwidthSum=1024 * (((int)(Math.random() * 10) % 9) + 10);
      int packetVal=(int)(FSize / bandwidthSum);
      backplogger.info("String_Node_Str" + packetVal + "String_Node_Str"+ file.getSize()+ "String_Node_Str"+ Global.c1Bandwidth+ "String_Node_Str"+ Global.c2Bandwidth+ "String_Node_Str"+ Global.c3Bandwidth);
      count=mySplit(path + Global.fs + fzipencrypt,Despath + Global.fs + fzipencrypt,packetVal);
      backplogger.info("String_Node_Str" + path + Global.fs+ file.getName()+ "String_Node_Str"+ count+ "String_Node_Str");
      noOfFiles++;
      try {
        dbConnect.saveFiles(file.getName(),file.getSize(),file.getHash(),file.getcDate());
        backplogger.info("String_Node_Str");
      }
 catch (      Exception e) {
        backplogger.error("String_Node_Str" + e);
      }
      backplogger.info("String_Node_Str" + file.getName());
    }
 else {
      String fnormal=file.getName();
      try {
        Despath=CreateFolder(dest);
      }
 catch (      Exception e) {
        e.printStackTrace();
      }
      long FSize=FileData.getFileSize(path + "String_Node_Str" + fnormal);
      int bandwidthSum=1024 * (((int)(Math.random() * 10) % 9) + 10);
      int packetVal=(int)(file.getSize() / bandwidthSum);
      backplogger.info("String_Node_Str" + packetVal + "String_Node_Str"+ file.getSize()+ "String_Node_Str"+ Global.c1Bandwidth+ "String_Node_Str"+ Global.c2Bandwidth+ "String_Node_Str"+ Global.c3Bandwidth);
      count=mySplit(path + Global.fs + fnormal,Despath + Global.fs + fnormal,packetVal);
      backplogger.info("String_Node_Str" + path + Global.fs+ file.getName()+ "String_Node_Str"+ count+ "String_Node_Str");
      noOfFiles++;
      try {
        dbConnect.saveFiles(file.getName(),file.getSize(),file.getHash(),file.getcDate());
        backplogger.info("String_Node_Str");
      }
 catch (      Exception e) {
        backplogger.error("String_Node_Str" + e);
      }
    }
    int[] raidArray=Sftp.raid(count);
    backplogger.info("String_Node_Str");
    for (int j=0; j < raidArray.length; ) {
      backplogger.info("String_Node_Str" + (j + 2) / 2 + "String_Node_Str" + raidArray[j] + "String_Node_Str" + "String_Node_Str" + raidArray[j + 1]);
      j=j + 2;
    }
    try {
      dListOfFiles=FileData.ReadSPFile(Despath,count,raidArray);
      for (      MYSpFile file2 : dListOfFiles) {
        dbConnect.saveSPFiles(file2.getFid(),file2.getName(),file2.getSize(),file2.getHash(),file2.getCloud(),file2.getRCloud());
      }
      backplogger.info("String_Node_Str");
    }
 catch (    Exception e) {
      backplogger.error("String_Node_Str" + e);
    }
    backplogger.info("String_Node_Str" + file.getName() + "String_Node_Str");
    Sftp.upload(dest + Global.fs + file.getName());
    backplogger.info("String_Node_Str" + file.getName() + "String_Node_Str");
    Sftp.upload1(dest + Global.fs + file.getName());
    backplogger.info("String_Node_Str" + file.getName() + "String_Node_Str");
    Sftp.upload2(dest + Global.fs + file.getName());
  }
  backplogger.info("String_Node_Str" + noOfFiles + "String_Node_Str"+ path);
  return 0;
}