Program: 140872
Project: 140872
Buggy source:
public static void parseSPARQL(String query){
  if (counter > 40) {
    log.warning("String_Node_Str" + query);
    SPARQLquery=null;
  }
  counter++;
  try {
    SPARQLParser sp=SPARQLParser.createParser(Syntax.syntaxSPARQL_11);
    Query q=sp.parse(QueryFactory.create(),query);
    SPARQLquery=q;
  }
 catch (  QueryParseException e) {
    if (e.getMessage().contains("String_Node_Str")) {
      Pattern p=Pattern.compile("String_Node_Str");
      Matcher m=p.matcher(e.getMessage());
      String prefix="String_Node_Str";
      String suffix="String_Node_Str";
      if (m.find()) {
        prefix=m.group(1);
        suffix=m.group(2);
      }
 else {
        log.warning("String_Node_Str" + query);
        LogHandler.writeStackTrace(log,e,Level.WARNING);
        SPARQLquery=null;
      }
      if (prefix.toLowerCase().equals("String_Node_Str")) {
        query=query.replaceAll("String_Node_Str" + prefix + "String_Node_Str"+ suffix+ "String_Node_Str","String_Node_Str");
        isSPARQL(query);
      }
 else       if (CopyOfPrefixes.prefixes.containsKey(prefix.toLowerCase())) {
        String onePrefix=CopyOfPrefixes.prefixes.get(prefix.toLowerCase());
        String prefix2="String_Node_Str" + prefix.toLowerCase() + "String_Node_Str"+ onePrefix+ "String_Node_Str"+ query;
        isSPARQL(prefix2);
      }
    }
 else     if (e.getMessage().contains("String_Node_Str")) {
      if (query.toLowerCase().contains("String_Node_Str")) {
        query=query.replaceAll("String_Node_Str","String_Node_Str");
        isSPARQL(query);
      }
 else {
        log.warning("String_Node_Str" + query);
        LogHandler.writeStackTrace(log,e,Level.WARNING);
        SPARQLquery=null;
      }
    }
 else {
      log.warning("String_Node_Str" + query);
      LogHandler.writeStackTrace(log,e,Level.WARNING);
      SPARQLquery=null;
    }
  }
}

Fixed version (ground truth):
public static void parseSPARQL(String query){
  if (counter > 30) {
    log.warning("String_Node_Str" + query);
    SPARQLquery=null;
    return;
  }
  counter++;
  try {
    SPARQLParser sp=SPARQLParser.createParser(Syntax.syntaxSPARQL_11);
    Query q=sp.parse(QueryFactory.create(),query);
    SPARQLquery=q;
  }
 catch (  QueryParseException e) {
    if (e.getMessage().contains("String_Node_Str")) {
      Pattern p=Pattern.compile("String_Node_Str");
      Matcher m=p.matcher(e.getMessage());
      String prefix="String_Node_Str";
      String suffix="String_Node_Str";
      if (m.find()) {
        prefix=m.group(1);
        suffix=m.group(2);
      }
 else {
        log.warning("String_Node_Str" + query);
        LogHandler.writeStackTrace(log,e,Level.WARNING);
        SPARQLquery=null;
      }
      if (prefix.toLowerCase().equals("String_Node_Str")) {
        query=query.replaceAll("String_Node_Str" + prefix + "String_Node_Str"+ suffix+ "String_Node_Str","String_Node_Str");
        isSPARQL(query);
      }
 else       if (CopyOfPrefixes.prefixes.containsKey(prefix.toLowerCase())) {
        String onePrefix=CopyOfPrefixes.prefixes.get(prefix.toLowerCase());
        String prefix2="String_Node_Str" + prefix.toLowerCase() + "String_Node_Str"+ onePrefix+ "String_Node_Str"+ query;
        isSPARQL(prefix2);
      }
    }
 else     if (e.getMessage().contains("String_Node_Str")) {
      if (query.toLowerCase().contains("String_Node_Str")) {
        query=query.replaceAll("String_Node_Str","String_Node_Str");
        isSPARQL(query);
      }
 else {
        log.warning("String_Node_Str" + query);
        LogHandler.writeStackTrace(log,e,Level.WARNING);
        SPARQLquery=null;
      }
    }
 else {
      log.warning("String_Node_Str" + query);
      LogHandler.writeStackTrace(log,e,Level.WARNING);
      SPARQLquery=null;
    }
  }
}