Program: 152481
Project: 152481
Buggy source:
private boolean initialize(){
  final Context context=getContext();
  mCountryMonitor=CountryMonitor.getInstance(context);
  mDbHelper=(ContactsDatabaseHelper)getDatabaseHelper();
  mContactDirectoryManager=new ContactDirectoryManager(this);
  mGlobalSearchSupport=new GlobalSearchSupport(this);
  mLegacyApiSupport=new LegacyApiSupport(context,mDbHelper,this,mGlobalSearchSupport);
  mDb=mDbHelper.getWritableDatabase();
  initForDefaultLocale();
  mSetPrimaryStatement=mDb.compileStatement("String_Node_Str" + Tables.DATA + "String_Node_Str"+ Data.IS_PRIMARY+ "String_Node_Str"+ "String_Node_Str"+ DataColumns.MIMETYPE_ID+ "String_Node_Str"+ "String_Node_Str"+ Data.RAW_CONTACT_ID+ "String_Node_Str");
  mSetSuperPrimaryStatement=mDb.compileStatement("String_Node_Str" + Tables.DATA + "String_Node_Str"+ Data.IS_SUPER_PRIMARY+ "String_Node_Str"+ Data._ID+ "String_Node_Str"+ "String_Node_Str"+ DataColumns.MIMETYPE_ID+ "String_Node_Str"+ "String_Node_Str"+ Data.RAW_CONTACT_ID+ "String_Node_Str"+ "String_Node_Str"+ RawContacts._ID+ "String_Node_Str"+ Tables.RAW_CONTACTS+ "String_Node_Str"+ RawContacts.CONTACT_ID+ "String_Node_Str"+ "String_Node_Str"+ RawContacts.CONTACT_ID+ "String_Node_Str"+ Tables.RAW_CONTACTS+ "String_Node_Str"+ RawContacts._ID+ "String_Node_Str");
  mRawContactDisplayNameUpdate=mDb.compileStatement("String_Node_Str" + Tables.RAW_CONTACTS + "String_Node_Str"+ RawContacts.DISPLAY_NAME_SOURCE+ "String_Node_Str"+ RawContacts.DISPLAY_NAME_PRIMARY+ "String_Node_Str"+ RawContacts.DISPLAY_NAME_ALTERNATIVE+ "String_Node_Str"+ RawContacts.PHONETIC_NAME+ "String_Node_Str"+ RawContacts.PHONETIC_NAME_STYLE+ "String_Node_Str"+ RawContacts.SORT_KEY_PRIMARY+ "String_Node_Str"+ RawContacts.SORT_KEY_ALTERNATIVE+ "String_Node_Str"+ "String_Node_Str"+ RawContacts._ID+ "String_Node_Str");
  mLastStatusUpdate=mDb.compileStatement("String_Node_Str" + Tables.CONTACTS + "String_Node_Str"+ ContactsColumns.LAST_STATUS_UPDATE_ID+ "String_Node_Str"+ "String_Node_Str"+ DataColumns.CONCRETE_ID+ "String_Node_Str"+ Tables.STATUS_UPDATES+ "String_Node_Str"+ Tables.DATA+ "String_Node_Str"+ StatusUpdatesColumns.DATA_ID+ "String_Node_Str"+ DataColumns.CONCRETE_ID+ "String_Node_Str"+ "String_Node_Str"+ Tables.RAW_CONTACTS+ "String_Node_Str"+ DataColumns.CONCRETE_RAW_CONTACT_ID+ "String_Node_Str"+ RawContactsColumns.CONCRETE_ID+ "String_Node_Str"+ "String_Node_Str"+ RawContacts.CONTACT_ID+ "String_Node_Str"+ "String_Node_Str"+ StatusUpdates.STATUS_TIMESTAMP+ "String_Node_Str"+ StatusUpdates.STATUS+ "String_Node_Str"+ "String_Node_Str"+ ContactsColumns.CONCRETE_ID+ "String_Node_Str");
  mNameLookupInsert=mDb.compileStatement("String_Node_Str" + Tables.NAME_LOOKUP + "String_Node_Str"+ NameLookupColumns.RAW_CONTACT_ID+ "String_Node_Str"+ NameLookupColumns.DATA_ID+ "String_Node_Str"+ NameLookupColumns.NAME_TYPE+ "String_Node_Str"+ NameLookupColumns.NORMALIZED_NAME+ "String_Node_Str");
  mNameLookupDelete=mDb.compileStatement("String_Node_Str" + Tables.NAME_LOOKUP + "String_Node_Str"+ NameLookupColumns.DATA_ID+ "String_Node_Str");
  mStatusUpdateInsert=mDb.compileStatement("String_Node_Str" + Tables.STATUS_UPDATES + "String_Node_Str"+ StatusUpdatesColumns.DATA_ID+ "String_Node_Str"+ StatusUpdates.STATUS+ "String_Node_Str"+ StatusUpdates.STATUS_RES_PACKAGE+ "String_Node_Str"+ StatusUpdates.STATUS_ICON+ "String_Node_Str"+ StatusUpdates.STATUS_LABEL+ "String_Node_Str"+ "String_Node_Str");
  mStatusUpdateReplace=mDb.compileStatement("String_Node_Str" + Tables.STATUS_UPDATES + "String_Node_Str"+ StatusUpdatesColumns.DATA_ID+ "String_Node_Str"+ StatusUpdates.STATUS_TIMESTAMP+ "String_Node_Str"+ StatusUpdates.STATUS+ "String_Node_Str"+ StatusUpdates.STATUS_RES_PACKAGE+ "String_Node_Str"+ StatusUpdates.STATUS_ICON+ "String_Node_Str"+ StatusUpdates.STATUS_LABEL+ "String_Node_Str"+ "String_Node_Str");
  mStatusUpdateAutoTimestamp=mDb.compileStatement("String_Node_Str" + Tables.STATUS_UPDATES + "String_Node_Str"+ StatusUpdates.STATUS_TIMESTAMP+ "String_Node_Str"+ StatusUpdates.STATUS+ "String_Node_Str"+ "String_Node_Str"+ StatusUpdatesColumns.DATA_ID+ "String_Node_Str"+ "String_Node_Str"+ StatusUpdates.STATUS+ "String_Node_Str");
  mStatusAttributionUpdate=mDb.compileStatement("String_Node_Str" + Tables.STATUS_UPDATES + "String_Node_Str"+ StatusUpdates.STATUS_RES_PACKAGE+ "String_Node_Str"+ StatusUpdates.STATUS_ICON+ "String_Node_Str"+ StatusUpdates.STATUS_LABEL+ "String_Node_Str"+ "String_Node_Str"+ StatusUpdatesColumns.DATA_ID+ "String_Node_Str");
  mStatusUpdateDelete=mDb.compileStatement("String_Node_Str" + Tables.STATUS_UPDATES + "String_Node_Str"+ StatusUpdatesColumns.DATA_ID+ "String_Node_Str");
  mResetNameVerifiedForOtherRawContacts=mDb.compileStatement("String_Node_Str" + Tables.RAW_CONTACTS + "String_Node_Str"+ RawContacts.NAME_VERIFIED+ "String_Node_Str"+ "String_Node_Str"+ RawContacts.CONTACT_ID+ "String_Node_Str"+ "String_Node_Str"+ RawContacts.CONTACT_ID+ "String_Node_Str"+ Tables.RAW_CONTACTS+ "String_Node_Str"+ RawContacts._ID+ "String_Node_Str"+ "String_Node_Str"+ RawContacts._ID+ "String_Node_Str");
  mMimeTypeIdEmail=mDbHelper.getMimeTypeId(Email.CONTENT_ITEM_TYPE);
  mMimeTypeIdIm=mDbHelper.getMimeTypeId(Im.CONTENT_ITEM_TYPE);
  mMimeTypeIdStructuredName=mDbHelper.getMimeTypeId(StructuredName.CONTENT_ITEM_TYPE);
  mMimeTypeIdOrganization=mDbHelper.getMimeTypeId(Organization.CONTENT_ITEM_TYPE);
  mMimeTypeIdNickname=mDbHelper.getMimeTypeId(Nickname.CONTENT_ITEM_TYPE);
  mMimeTypeIdPhone=mDbHelper.getMimeTypeId(Phone.CONTENT_ITEM_TYPE);
  verifyAccounts();
  if (isLegacyContactImportNeeded()) {
    importLegacyContactsAsync();
  }
 else {
    verifyLocale();
  }
  startContactDirectoryManager();
  if (isAggregationUpgradeNeeded()) {
    upgradeAggregationAlgorithm();
  }
  return (mDb != null);
}

Fixed version (ground truth):
private boolean initialize(){
  final Context context=getContext();
  mCountryMonitor=CountryMonitor.getInstance(context);
  mDbHelper=(ContactsDatabaseHelper)getDatabaseHelper();
  mContactDirectoryManager=new ContactDirectoryManager(this);
  mGlobalSearchSupport=new GlobalSearchSupport(this);
  mLegacyApiSupport=new LegacyApiSupport(context,mDbHelper,this,mGlobalSearchSupport);
  mDb=mDbHelper.getWritableDatabase();
  initForDefaultLocale();
  mSetPrimaryStatement=mDb.compileStatement("String_Node_Str" + Tables.DATA + "String_Node_Str"+ Data.IS_PRIMARY+ "String_Node_Str"+ "String_Node_Str"+ DataColumns.MIMETYPE_ID+ "String_Node_Str"+ "String_Node_Str"+ Data.RAW_CONTACT_ID+ "String_Node_Str");
  mSetSuperPrimaryStatement=mDb.compileStatement("String_Node_Str" + Tables.DATA + "String_Node_Str"+ Data.IS_SUPER_PRIMARY+ "String_Node_Str"+ Data._ID+ "String_Node_Str"+ "String_Node_Str"+ DataColumns.MIMETYPE_ID+ "String_Node_Str"+ "String_Node_Str"+ Data.RAW_CONTACT_ID+ "String_Node_Str"+ "String_Node_Str"+ RawContacts._ID+ "String_Node_Str"+ Tables.RAW_CONTACTS+ "String_Node_Str"+ RawContacts.CONTACT_ID+ "String_Node_Str"+ "String_Node_Str"+ RawContacts.CONTACT_ID+ "String_Node_Str"+ Tables.RAW_CONTACTS+ "String_Node_Str"+ RawContacts._ID+ "String_Node_Str");
  mRawContactDisplayNameUpdate=mDb.compileStatement("String_Node_Str" + Tables.RAW_CONTACTS + "String_Node_Str"+ RawContacts.DISPLAY_NAME_SOURCE+ "String_Node_Str"+ RawContacts.DISPLAY_NAME_PRIMARY+ "String_Node_Str"+ RawContacts.DISPLAY_NAME_ALTERNATIVE+ "String_Node_Str"+ RawContacts.PHONETIC_NAME+ "String_Node_Str"+ RawContacts.PHONETIC_NAME_STYLE+ "String_Node_Str"+ RawContacts.SORT_KEY_PRIMARY+ "String_Node_Str"+ RawContacts.SORT_KEY_ALTERNATIVE+ "String_Node_Str"+ "String_Node_Str"+ RawContacts._ID+ "String_Node_Str");
  mNameLookupInsert=mDb.compileStatement("String_Node_Str" + Tables.NAME_LOOKUP + "String_Node_Str"+ NameLookupColumns.RAW_CONTACT_ID+ "String_Node_Str"+ NameLookupColumns.DATA_ID+ "String_Node_Str"+ NameLookupColumns.NAME_TYPE+ "String_Node_Str"+ NameLookupColumns.NORMALIZED_NAME+ "String_Node_Str");
  mNameLookupDelete=mDb.compileStatement("String_Node_Str" + Tables.NAME_LOOKUP + "String_Node_Str"+ NameLookupColumns.DATA_ID+ "String_Node_Str");
  mStatusUpdateInsert=mDb.compileStatement("String_Node_Str" + Tables.STATUS_UPDATES + "String_Node_Str"+ StatusUpdatesColumns.DATA_ID+ "String_Node_Str"+ StatusUpdates.STATUS+ "String_Node_Str"+ StatusUpdates.STATUS_RES_PACKAGE+ "String_Node_Str"+ StatusUpdates.STATUS_ICON+ "String_Node_Str"+ StatusUpdates.STATUS_LABEL+ "String_Node_Str"+ "String_Node_Str");
  mStatusUpdateReplace=mDb.compileStatement("String_Node_Str" + Tables.STATUS_UPDATES + "String_Node_Str"+ StatusUpdatesColumns.DATA_ID+ "String_Node_Str"+ StatusUpdates.STATUS_TIMESTAMP+ "String_Node_Str"+ StatusUpdates.STATUS+ "String_Node_Str"+ StatusUpdates.STATUS_RES_PACKAGE+ "String_Node_Str"+ StatusUpdates.STATUS_ICON+ "String_Node_Str"+ StatusUpdates.STATUS_LABEL+ "String_Node_Str"+ "String_Node_Str");
  mStatusUpdateAutoTimestamp=mDb.compileStatement("String_Node_Str" + Tables.STATUS_UPDATES + "String_Node_Str"+ StatusUpdates.STATUS_TIMESTAMP+ "String_Node_Str"+ StatusUpdates.STATUS+ "String_Node_Str"+ "String_Node_Str"+ StatusUpdatesColumns.DATA_ID+ "String_Node_Str"+ "String_Node_Str"+ StatusUpdates.STATUS+ "String_Node_Str");
  mStatusAttributionUpdate=mDb.compileStatement("String_Node_Str" + Tables.STATUS_UPDATES + "String_Node_Str"+ StatusUpdates.STATUS_RES_PACKAGE+ "String_Node_Str"+ StatusUpdates.STATUS_ICON+ "String_Node_Str"+ StatusUpdates.STATUS_LABEL+ "String_Node_Str"+ "String_Node_Str"+ StatusUpdatesColumns.DATA_ID+ "String_Node_Str");
  mStatusUpdateDelete=mDb.compileStatement("String_Node_Str" + Tables.STATUS_UPDATES + "String_Node_Str"+ StatusUpdatesColumns.DATA_ID+ "String_Node_Str");
  mResetNameVerifiedForOtherRawContacts=mDb.compileStatement("String_Node_Str" + Tables.RAW_CONTACTS + "String_Node_Str"+ RawContacts.NAME_VERIFIED+ "String_Node_Str"+ "String_Node_Str"+ RawContacts.CONTACT_ID+ "String_Node_Str"+ "String_Node_Str"+ RawContacts.CONTACT_ID+ "String_Node_Str"+ Tables.RAW_CONTACTS+ "String_Node_Str"+ RawContacts._ID+ "String_Node_Str"+ "String_Node_Str"+ RawContacts._ID+ "String_Node_Str");
  mMimeTypeIdEmail=mDbHelper.getMimeTypeId(Email.CONTENT_ITEM_TYPE);
  mMimeTypeIdIm=mDbHelper.getMimeTypeId(Im.CONTENT_ITEM_TYPE);
  mMimeTypeIdStructuredName=mDbHelper.getMimeTypeId(StructuredName.CONTENT_ITEM_TYPE);
  mMimeTypeIdOrganization=mDbHelper.getMimeTypeId(Organization.CONTENT_ITEM_TYPE);
  mMimeTypeIdNickname=mDbHelper.getMimeTypeId(Nickname.CONTENT_ITEM_TYPE);
  mMimeTypeIdPhone=mDbHelper.getMimeTypeId(Phone.CONTENT_ITEM_TYPE);
  verifyAccounts();
  if (isLegacyContactImportNeeded()) {
    importLegacyContactsAsync();
  }
 else {
    verifyLocale();
  }
  startContactDirectoryManager();
  if (isAggregationUpgradeNeeded()) {
    upgradeAggregationAlgorithm();
  }
  return (mDb != null);
}