Program: 17568
Project: 17568
Buggy source:
public CFPartitionScanner(){
  IToken htmComment=new Token(HTM_COMMENT);
  IToken tag=new Token(ALL_TAG);
  IToken cftag=new Token(CF_TAG);
  IToken cfendtag=new Token(CF_END_TAG);
  IToken cfscript=new Token(CF_SCRIPT);
  IToken jscript=new Token(J_SCRIPT);
  IToken css=new Token(CSS_TAG);
  IToken unktag=new Token(UNK_TAG);
  List rules=new ArrayList();
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",htmComment));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",htmComment));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cfscript));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cfscript));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",css));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",css));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",jscript));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",jscript));
  SyntaxDictionary sd=DictionaryManager.getDictionary(DictionaryManager.CFDIC);
  Tag tg=null;
  try {
    Set elements=((SyntaxDictionaryInterface)sd).getAllElements();
    Iterator it=elements.iterator();
    while (it.hasNext()) {
      String ename=(String)it.next();
      if (!ename.equals("String_Node_Str")) {
        tg=sd.getTag(ename);
        rules.add(new MultiLineRule("String_Node_Str" + ename,"String_Node_Str",cftag));
        rules.add(new MultiLineRule("String_Node_Str" + ename.toUpperCase(),"String_Node_Str",cftag));
        if (!tg.isSingle()) {
          rules.add(new MultiLineRule("String_Node_Str" + ename,"String_Node_Str",cfendtag));
          rules.add(new MultiLineRule("String_Node_Str" + ename.toUpperCase(),"String_Node_Str",cfendtag));
        }
      }
    }
  }
 catch (  Exception e) {
    e.printStackTrace(System.err);
  }
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cftag));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cfendtag));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cftag));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cfendtag));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cftag));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cfendtag));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cftag));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cfendtag));
  sd=DictionaryManager.getDictionary(DictionaryManager.HTDIC);
  try {
    Set elements=((SyntaxDictionaryInterface)sd).getAllElements();
    Iterator it=elements.iterator();
    while (it.hasNext()) {
      String ename=(String)it.next();
      if (!ename.equals("String_Node_Str") && !ename.equals("String_Node_Str")) {
        tg=sd.getTag(ename);
        rules.add(new MultiLineRule("String_Node_Str" + ename,"String_Node_Str",tag));
        rules.add(new MultiLineRule("String_Node_Str" + ename.toUpperCase(),"String_Node_Str",tag));
        if (!tg.isSingle()) {
          rules.add(new MultiLineRule("String_Node_Str" + ename,"String_Node_Str",tag));
          rules.add(new MultiLineRule("String_Node_Str" + ename.toUpperCase(),"String_Node_Str",tag));
        }
      }
    }
  }
 catch (  Exception e) {
    e.printStackTrace(System.err);
  }
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",unktag));
  IPredicateRule[] rulearry=new IPredicateRule[rules.size()];
  rules.toArray(rulearry);
  setPredicateRules(rulearry);
}

Fixed version (ground truth):
public CFPartitionScanner(){
  IToken htmComment=new Token(HTM_COMMENT);
  IToken tag=new Token(ALL_TAG);
  IToken cftag=new Token(CF_TAG);
  IToken cfendtag=new Token(CF_END_TAG);
  IToken cfscript=new Token(CF_SCRIPT);
  IToken jscript=new Token(J_SCRIPT);
  IToken css=new Token(CSS_TAG);
  IToken unktag=new Token(UNK_TAG);
  List rules=new ArrayList();
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",htmComment));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",htmComment));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cfscript));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cfscript));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",css));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",css));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",jscript));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",jscript));
  SyntaxDictionary sd=DictionaryManager.getDictionary(DictionaryManager.CFDIC);
  Tag tg=null;
  try {
    Set elements=((SyntaxDictionaryInterface)sd).getAllElements();
    Iterator it=elements.iterator();
    while (it.hasNext()) {
      String ename=(String)it.next();
      if (!ename.equals("String_Node_Str")) {
        tg=sd.getTag(ename);
        rules.add(new MultiLineRule("String_Node_Str" + ename,"String_Node_Str",cftag));
        rules.add(new MultiLineRule("String_Node_Str" + ename.toUpperCase(),"String_Node_Str",cftag));
        if (!tg.isSingle()) {
          rules.add(new MultiLineRule("String_Node_Str" + ename,"String_Node_Str",cfendtag));
          rules.add(new MultiLineRule("String_Node_Str" + ename.toUpperCase(),"String_Node_Str",cfendtag));
        }
      }
    }
  }
 catch (  Exception e) {
    e.printStackTrace(System.err);
  }
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cftag));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cfendtag));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cftag));
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",cfendtag));
  sd=DictionaryManager.getDictionary(DictionaryManager.HTDIC);
  try {
    Set elements=((SyntaxDictionaryInterface)sd).getAllElements();
    Iterator it=elements.iterator();
    while (it.hasNext()) {
      String ename=(String)it.next();
      if (!ename.equals("String_Node_Str") && !ename.equals("String_Node_Str")) {
        tg=sd.getTag(ename);
        rules.add(new MultiLineRule("String_Node_Str" + ename,"String_Node_Str",tag));
        rules.add(new MultiLineRule("String_Node_Str" + ename.toUpperCase(),"String_Node_Str",tag));
        if (!tg.isSingle()) {
          rules.add(new MultiLineRule("String_Node_Str" + ename,"String_Node_Str",tag));
          rules.add(new MultiLineRule("String_Node_Str" + ename.toUpperCase(),"String_Node_Str",tag));
        }
      }
    }
  }
 catch (  Exception e) {
    e.printStackTrace(System.err);
  }
  rules.add(new MultiLineRule("String_Node_Str","String_Node_Str",unktag));
  IPredicateRule[] rulearry=new IPredicateRule[rules.size()];
  rules.toArray(rulearry);
  setPredicateRules(rulearry);
}