Program: 24350
Project: 24350
Buggy source:
@Override protected Long doInBackground(Object... ton){
  String[] feeds_array=read_feeds_to_array(get_filepath(current_groups[((Integer)ton[1])] + "String_Node_Str"));
  String[] titles, descriptions, links, images;
  boolean success=true, exists=true;
  for (  String feed : feeds_array) {
    if ((!((Boolean)ton[0])) && (((Integer)ton[1]) != 0))     success=update_feed(feed);
    if (!((new File(get_filepath(feed + "String_Node_Str"))).exists()))     exists=false;
  }
  if (exists) {
    File test=new File(get_filepath(current_groups[((Integer)ton[1])] + "String_Node_Str"));
    if ((!test.exists()) || (!((Boolean)ton[0])))     sort_groups_by_time(current_groups[((Integer)ton[1])]);
    if (success) {
      String content_path=get_filepath(current_groups[((Integer)ton[1])] + "String_Node_Str");
      titles=read_csv_to_array("String_Node_Str",content_path);
      if (titles.length > 0) {
        images=read_csv_to_array("String_Node_Str",content_path);
        descriptions=read_csv_to_array("String_Node_Str",content_path);
        links=read_csv_to_array("String_Node_Str",content_path);
        int image_width=0, image_height=0;
        String partial_image_path=get_filepath("String_Node_Str");
        String partial_thumbnail_path=get_filepath("String_Node_Str");
        String image_name="String_Node_Str", thumbnail_path="String_Node_Str";
        File image, thumbnail;
        for (int m=0; m < titles.length; m++) {
          if (!images[m].equals("String_Node_Str")) {
            image_name=images[m].substring(images[m].lastIndexOf("String_Node_Str") + 1,images[m].length());
            image=new File(partial_image_path + image_name);
            thumbnail=new File(partial_thumbnail_path + image_name);
            if (!image.exists()) {
              download_file(images[m],"String_Node_Str" + image_name);
              compress_file(partial_image_path + image_name,partial_thumbnail_path + image_name,image_name);
            }
 else             if (!thumbnail.exists())             compress_file(partial_image_path + image_name,partial_thumbnail_path + image_name,image_name);
            Integer[] dim=get_dim(image_name);
            image_height=dim[1];
            image_width=dim[0];
            thumbnail_path=partial_thumbnail_path + image_name;
          }
          List<String> ith_list=get_card_adapter(((Integer)ton[1])).return_links();
          if ((!ith_list.contains(links[m])) || (ith_list.size() == 0))           publishProgress(((Integer)ton[1]),titles[m],descriptions[m],links[m],thumbnail_path,image_height,image_width);
        }
      }
    }
  }
  return 1L;
}

Fixed version (ground truth):
@Override protected Long doInBackground(Object... ton){
  String[] feeds_array=read_feeds_to_array(get_filepath(current_groups[((Integer)ton[1])] + "String_Node_Str"));
  String[] titles, descriptions, links, images;
  boolean success=true, exists=true;
  for (  String feed : feeds_array) {
    if ((!((Boolean)ton[0])) && (((Integer)ton[1]) != 0))     success=update_feed(feed);
    if (!((new File(get_filepath(feed + "String_Node_Str"))).exists()))     exists=false;
  }
  if (exists) {
    File test=new File(get_filepath(current_groups[((Integer)ton[1])] + "String_Node_Str"));
    if ((!test.exists()) || (!((Boolean)ton[0])))     sort_groups_by_time(current_groups[((Integer)ton[1])]);
    if (success) {
      String content_path=get_filepath(current_groups[((Integer)ton[1])] + "String_Node_Str");
      titles=read_csv_to_array("String_Node_Str",content_path);
      if (titles.length > 0) {
        images=read_csv_to_array("String_Node_Str",content_path);
        descriptions=read_csv_to_array("String_Node_Str",content_path);
        links=read_csv_to_array("String_Node_Str",content_path);
        int image_width=0, image_height=0;
        String partial_image_path=get_filepath("String_Node_Str");
        String partial_thumbnail_path=get_filepath("String_Node_Str");
        String image_name="String_Node_Str", thumbnail_path="String_Node_Str";
        File image, thumbnail;
        for (int m=0; m < titles.length; m++) {
          if (!images[m].equals("String_Node_Str")) {
            image_name=images[m].substring(images[m].lastIndexOf("String_Node_Str") + 1,images[m].length());
            image=new File(partial_image_path + image_name);
            thumbnail=new File(partial_thumbnail_path + image_name);
            if (!image.exists()) {
              download_file(images[m],"String_Node_Str" + image_name);
              compress_file(partial_image_path + image_name,partial_thumbnail_path + image_name,image_name);
            }
 else             if (!thumbnail.exists())             compress_file(partial_image_path + image_name,partial_thumbnail_path + image_name,image_name);
            Integer[] dim=get_dim(image_name);
            image_height=dim[1];
            image_width=dim[0];
            thumbnail_path=partial_thumbnail_path + image_name;
          }
 else {
            thumbnail_path="String_Node_Str";
            image_height=0;
            image_width=0;
          }
          List<String> ith_list=get_card_adapter(((Integer)ton[1])).return_links();
          if ((!ith_list.contains(links[m])) || (ith_list.size() == 0))           publishProgress(((Integer)ton[1]),titles[m],descriptions[m],links[m],thumbnail_path,image_height,image_width);
        }
      }
    }
  }
  return 1L;
}