Program: 112931
Project: 112931
Buggy source:
private void initStores(File configFile,String sql,String outputStoreName){
  String inputStoreInfo1=null;
  String inputStoreInfo2=null;
  String escapedSpaceRegex=java.util.regex.Pattern.quote("String_Node_Str");
  LOGGER.debug("String_Node_Str" + sql);
  String[] sqlSplits=sql.split(escapedSpaceRegex);
  int splitIndex=0;
  while (splitIndex < sqlSplits.length) {
    String split=sqlSplits[splitIndex];
    if (split.equalsIgnoreCase("String_Node_Str")) {
      if (splitIndex < sqlSplits.length - 1) {
        splitIndex++;
        inputStoreInfo1=sqlSplits[splitIndex];
        LOGGER.debug("String_Node_Str" + inputStoreInfo1);
      }
    }
 else     if (split.equalsIgnoreCase("String_Node_Str")) {
      if (splitIndex < sqlSplits.length - 1) {
        splitIndex++;
        inputStoreInfo2=sqlSplits[splitIndex];
        LOGGER.debug("String_Node_Str" + inputStoreInfo2);
      }
    }
    splitIndex++;
  }
  String escapedDelimRegex=java.util.regex.Pattern.quote(STORE_ADAPTER_DELIM);
  if (inputStoreInfo1 != null) {
    String inputStoreName=inputStoreInfo1;
    String adapterName=null;
    if (inputStoreInfo1.contains(STORE_ADAPTER_DELIM)) {
      String[] infoParts=inputStoreInfo1.split(escapedDelimRegex);
      if (infoParts.length > 2) {
        throw new ParameterException("String_Node_Str" + inputStoreInfo1);
      }
      inputStoreName=infoParts[0];
      adapterName=infoParts[1];
    }
    LOGGER.debug("String_Node_Str" + inputStoreName);
    LOGGER.debug("String_Node_Str" + adapterName);
    final StoreLoader inputStoreLoader=new StoreLoader(inputStoreName);
    if (!inputStoreLoader.loadFromConfig(configFile)) {
      throw new ParameterException("String_Node_Str" + inputStoreLoader.getStoreName());
    }
    inputDataStore1=inputStoreLoader.getDataStorePlugin();
    if (adapterName != null) {
      adapterId1=new ByteArrayId(adapterName);
    }
    tempView1=inputStoreInfo1;
  }
  if (inputStoreInfo2 != null) {
    String inputStoreName=inputStoreInfo2;
    String adapterName=null;
    if (inputStoreInfo2.contains(STORE_ADAPTER_DELIM)) {
      String[] infoParts=inputStoreInfo2.split(escapedDelimRegex);
      if (infoParts.length > 2) {
        throw new ParameterException("String_Node_Str" + inputStoreInfo2);
      }
      inputStoreName=infoParts[0];
      adapterName=infoParts[1];
    }
    LOGGER.debug("String_Node_Str" + inputStoreName);
    LOGGER.debug("String_Node_Str" + adapterName);
    final StoreLoader inputStoreLoader=new StoreLoader(inputStoreName);
    if (!inputStoreLoader.loadFromConfig(configFile)) {
      throw new ParameterException("String_Node_Str" + inputStoreLoader.getStoreName());
    }
    inputDataStore2=inputStoreLoader.getDataStorePlugin();
    if (adapterName != null) {
      adapterId2=new ByteArrayId(adapterName);
    }
    tempView2=inputStoreInfo2;
  }
  if (outputStoreName != null) {
    final StoreLoader outputStoreLoader=new StoreLoader(outputStoreName);
    if (!outputStoreLoader.loadFromConfig(configFile)) {
      throw new ParameterException("String_Node_Str" + outputStoreLoader.getStoreName());
    }
    outputDataStore=outputStoreLoader.getDataStorePlugin();
  }
}

Fixed version (ground truth):
private void initStores(File configFile,String sql,String outputStoreName){
  String inputStoreInfo1=null;
  String inputStoreInfo2=null;
  String escapedSpaceRegex=java.util.regex.Pattern.quote("String_Node_Str");
  LOGGER.debug("String_Node_Str" + sql);
  String[] sqlSplits=sql.split(escapedSpaceRegex);
  int splitIndex=0;
  while (splitIndex < sqlSplits.length) {
    String split=sqlSplits[splitIndex];
    if (split.equalsIgnoreCase("String_Node_Str")) {
      if (splitIndex < sqlSplits.length - 1) {
        splitIndex++;
        inputStoreInfo1=sqlSplits[splitIndex];
        LOGGER.debug("String_Node_Str" + inputStoreInfo1);
      }
    }
 else     if (split.equalsIgnoreCase("String_Node_Str")) {
      if (splitIndex < sqlSplits.length - 1) {
        splitIndex++;
        inputStoreInfo2=sqlSplits[splitIndex];
        LOGGER.debug("String_Node_Str" + inputStoreInfo2);
      }
    }
    splitIndex++;
  }
  String escapedDelimRegex=java.util.regex.Pattern.quote(STORE_ADAPTER_DELIM);
  if (inputStoreInfo1 != null) {
    String inputStoreName=inputStoreInfo1;
    String adapterName=null;
    if (inputStoreInfo1.contains(STORE_ADAPTER_DELIM)) {
      String[] infoParts=inputStoreInfo1.split(escapedDelimRegex);
      if (infoParts.length > 2) {
        throw new ParameterException("String_Node_Str" + STORE_ADAPTER_DELIM + "String_Node_Str"+ inputStoreInfo1);
      }
      inputStoreName=infoParts[0];
      adapterName=infoParts[1];
    }
    LOGGER.debug("String_Node_Str" + inputStoreName);
    LOGGER.debug("String_Node_Str" + adapterName);
    final StoreLoader inputStoreLoader=new StoreLoader(inputStoreName);
    if (!inputStoreLoader.loadFromConfig(configFile)) {
      throw new ParameterException("String_Node_Str" + inputStoreLoader.getStoreName());
    }
    inputDataStore1=inputStoreLoader.getDataStorePlugin();
    if (adapterName != null) {
      adapterId1=new ByteArrayId(adapterName);
    }
    tempView1=inputStoreInfo1;
  }
  if (inputStoreInfo2 != null) {
    String inputStoreName=inputStoreInfo2;
    String adapterName=null;
    if (inputStoreInfo2.contains(STORE_ADAPTER_DELIM)) {
      String[] infoParts=inputStoreInfo2.split(escapedDelimRegex);
      if (infoParts.length > 2) {
        throw new ParameterException("String_Node_Str" + STORE_ADAPTER_DELIM + "String_Node_Str"+ inputStoreInfo2);
      }
      inputStoreName=infoParts[0];
      adapterName=infoParts[1];
    }
    LOGGER.debug("String_Node_Str" + inputStoreName);
    LOGGER.debug("String_Node_Str" + adapterName);
    final StoreLoader inputStoreLoader=new StoreLoader(inputStoreName);
    if (!inputStoreLoader.loadFromConfig(configFile)) {
      throw new ParameterException("String_Node_Str" + inputStoreLoader.getStoreName());
    }
    inputDataStore2=inputStoreLoader.getDataStorePlugin();
    if (adapterName != null) {
      adapterId2=new ByteArrayId(adapterName);
    }
    tempView2=inputStoreInfo2;
  }
  if (outputStoreName != null) {
    final StoreLoader outputStoreLoader=new StoreLoader(outputStoreName);
    if (!outputStoreLoader.loadFromConfig(configFile)) {
      throw new ParameterException("String_Node_Str" + outputStoreLoader.getStoreName());
    }
    outputDataStore=outputStoreLoader.getDataStorePlugin();
  }
}