Program: 153095
Project: 153095
Buggy source:
public void parse(String allData,boolean anonymous){
  try {
    Pattern honbunPattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Pattern resPattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Pattern textAttrPattern=Pattern.compile("String_Node_Str" + "String_Node_Str" + "String_Node_Str",Pattern.DOTALL);
    Pattern imgTextAttrPattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Pattern textPattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Pattern imgPattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Pattern thumbPattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Pattern endTimePattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Matcher mc=honbunPattern.matcher(allData);
    mc.find();
    mc.find();
    String honbun=mc.group(0);
    FutabaStatus statusTop=new FutabaStatus();
    Matcher mcImg=thumbPattern.matcher(honbun);
    if (mcImg.find()) {
      statusTop.imgURL=mcImg.group(1);
      statusTop.width=Integer.parseInt(mcImg.group(2));
      statusTop.height=Integer.parseInt(mcImg.group(3));
    }
    Matcher mcBigImg=imgPattern.matcher(honbun);
    if (mcBigImg.find()) {
      statusTop.bigImgURL=mcBigImg.group(1);
    }
    Matcher mcText=textPattern.matcher(honbun);
    mcText.find();
    if (!anonymous) {
      Matcher mcTextAttr=textAttrPattern.matcher(honbun);
      if (mcTextAttr.find()) {
        statusTop.title=mcTextAttr.group(1);
        statusTop.name=normalize(mcTextAttr.group(2));
        statusTop.datestr=mcTextAttr.group(3);
        statusTop.id=Integer.parseInt(mcTextAttr.group(4));
      }
    }
 else {
      Matcher mcTextAttr=imgTextAttrPattern.matcher(honbun);
      if (mcTextAttr.find()) {
        statusTop.datestr=mcTextAttr.group(1);
      }
    }
    String text=mcText.group(1);
    statusTop.text=text;
    Matcher mcEndTime=endTimePattern.matcher(honbun);
    if (mcEndTime.find()) {
      statusTop.endTime=mcEndTime.group(1);
    }
 else {
      FLog.d("String_Node_Str");
    }
    statuses.add(statusTop);
    Matcher mcRes=resPattern.matcher(honbun);
    while (mcRes.find()) {
      FutabaStatus status=new FutabaStatus();
      mcText=textPattern.matcher(mcRes.group(1));
      mcText.find();
      if (!anonymous) {
        Matcher mcTextAttr=textAttrPattern.matcher(mcRes.group(1));
        if (mcTextAttr.find()) {
          status.title=mcTextAttr.group(1);
          status.name=normalize(mcTextAttr.group(2));
          status.mailTo=extractMailTo(mcTextAttr.group(2));
          status.datestr=mcTextAttr.group(3);
          status.id=Integer.parseInt(mcTextAttr.group(4));
        }
      }
 else {
        Matcher mcTextAttr=imgTextAttrPattern.matcher(mcRes.group(1));
        if (mcTextAttr.find()) {
          status.datestr=mcTextAttr.group(1);
        }
      }
      text=mcText.group(1);
      status.text=text;
      mcImg=thumbPattern.matcher(mcRes.group(1));
      if (mcImg.find()) {
        status.imgURL=mcImg.group(1);
        status.width=Integer.parseInt(mcImg.group(2));
        status.height=Integer.parseInt(mcImg.group(3));
      }
      mcBigImg=imgPattern.matcher(mcRes.group(1));
      if (mcBigImg.find()) {
        status.bigImgURL=mcBigImg.group(1);
      }
      statuses.add(status);
    }
  }
 catch (  Exception e) {
    FLog.d("String_Node_Str",e);
  }
}

Fixed version (ground truth):
public void parse(String allData,boolean anonymous){
  try {
    Pattern honbunPattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Pattern resPattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Pattern textAttrPattern=Pattern.compile("String_Node_Str" + "String_Node_Str" + "String_Node_Str",Pattern.DOTALL);
    Pattern imgTextAttrPattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Pattern textPattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Pattern imgPattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Pattern thumbPattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Pattern endTimePattern=Pattern.compile("String_Node_Str",Pattern.DOTALL);
    Matcher mc=honbunPattern.matcher(allData);
    mc.find();
    mc.find();
    String honbun=mc.group(0);
    FutabaStatus statusTop=new FutabaStatus();
    Matcher mcImg=thumbPattern.matcher(honbun);
    if (mcImg.find()) {
      statusTop.imgURL=mcImg.group(1);
      statusTop.width=Integer.parseInt(mcImg.group(2));
      statusTop.height=Integer.parseInt(mcImg.group(3));
    }
    Matcher mcBigImg=imgPattern.matcher(honbun);
    if (mcBigImg.find()) {
      statusTop.bigImgURL=mcBigImg.group(1);
    }
    Matcher mcText=textPattern.matcher(honbun);
    mcText.find();
    if (!anonymous) {
      Matcher mcTextAttr=textAttrPattern.matcher(honbun);
      if (mcTextAttr.find()) {
        statusTop.title=mcTextAttr.group(1);
        statusTop.name=normalize(mcTextAttr.group(2));
        statusTop.datestr=mcTextAttr.group(3);
        statusTop.id=Integer.parseInt(mcTextAttr.group(4));
      }
    }
 else {
      Matcher mcTextAttr=imgTextAttrPattern.matcher(honbun);
      if (mcTextAttr.find()) {
        statusTop.datestr=mcTextAttr.group(1);
        statusTop.id=Integer.parseInt(mcTextAttr.group(2));
      }
    }
    String text=mcText.group(1);
    statusTop.text=text;
    Matcher mcEndTime=endTimePattern.matcher(honbun);
    if (mcEndTime.find()) {
      statusTop.endTime=mcEndTime.group(1);
    }
 else {
      FLog.d("String_Node_Str");
    }
    statuses.add(statusTop);
    Matcher mcRes=resPattern.matcher(honbun);
    while (mcRes.find()) {
      FutabaStatus status=new FutabaStatus();
      mcText=textPattern.matcher(mcRes.group(1));
      mcText.find();
      if (!anonymous) {
        Matcher mcTextAttr=textAttrPattern.matcher(mcRes.group(1));
        if (mcTextAttr.find()) {
          status.title=mcTextAttr.group(1);
          status.name=normalize(mcTextAttr.group(2));
          status.mailTo=extractMailTo(mcTextAttr.group(2));
          status.datestr=mcTextAttr.group(3);
          status.id=Integer.parseInt(mcTextAttr.group(4));
        }
      }
 else {
        Matcher mcTextAttr=imgTextAttrPattern.matcher(mcRes.group(1));
        if (mcTextAttr.find()) {
          status.datestr=mcTextAttr.group(1);
          status.id=Integer.parseInt(mcTextAttr.group(2));
        }
      }
      text=mcText.group(1);
      status.text=text;
      mcImg=thumbPattern.matcher(mcRes.group(1));
      if (mcImg.find()) {
        status.imgURL=mcImg.group(1);
        status.width=Integer.parseInt(mcImg.group(2));
        status.height=Integer.parseInt(mcImg.group(3));
      }
      mcBigImg=imgPattern.matcher(mcRes.group(1));
      if (mcBigImg.find()) {
        status.bigImgURL=mcBigImg.group(1);
      }
      statuses.add(status);
    }
  }
 catch (  Exception e) {
    FLog.d("String_Node_Str",e);
  }
}