Program: 40383
Project: 40383
Buggy source:
public StorjNode(Cursor cursor){
  mNodeID=cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.NODE_ID));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_SEEN) != -1)   mLastSeen=parseDateString(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_SEEN)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.PORT) != -1)   mPort=Integer.parseInt(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.PORT)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.ADDRESS) != -1)   mAddress=cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.ADDRESS));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.USER_AGENT) != -1)   mUserAgent=new Version(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.USER_AGENT)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.PROTOCOL) != -1)   mProtocol=new Version(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.PROTOCOL)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.RESPONSE_TIME) != -1)   mResponseTime=Integer.parseInt(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.RESPONSE_TIME)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_TIMEOUT) != -1)   mLastTimeout=parseDateString(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_TIMEOUT)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.TIMEOUT_RATE) != -1)   mTimeoutRate=Float.parseFloat(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.TIMEOUT_RATE)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_CHECKED) != -1)   mLastChecked=parseDateString(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_CHECKED)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.FRIENDLY_NAME) != -1)   mSimpleName=cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.FRIENDLY_NAME));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.SHOULD_SEND_NOTIFICATION) != -1)   mShouldSendNotification=cursor.getInt(cursor.getColumnIndex(NodeReaderContract.NodeEntry.SHOULD_SEND_NOTIFICATION)) == 1;
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_CONTRACT_SENT) != -1)   mLastContractSent=cursor.getLong(cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_CONTRACT_SENT));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.REPUTATION) != -1)   mReputation=cursor.getInt(cursor.getColumnIndex(NodeReaderContract.NodeEntry.REPUTATION));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.IS_OUTDATED) != -1)   mIsOutdated=cursor.getInt(cursor.getColumnIndex(NodeReaderContract.NodeEntry.IS_OUTDATED)) == 1;
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.SPACE_AVAILABLE) != -1)   mSpaceAvailable=cursor.getInt(cursor.getColumnIndex(NodeReaderContract.NodeEntry.SPACE_AVAILABLE)) == 1;
}

Fixed version (ground truth):
public StorjNode(Cursor cursor){
  mNodeID=cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.NODE_ID));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_SEEN) != -1)   mLastSeen=parseDateString(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_SEEN)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.PORT) != -1)   mPort=cursor.getInt(cursor.getColumnIndex(NodeReaderContract.NodeEntry.PORT));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.ADDRESS) != -1)   mAddress=cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.ADDRESS));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.USER_AGENT) != -1)   mUserAgent=new Version(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.USER_AGENT)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.PROTOCOL) != -1)   mProtocol=new Version(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.PROTOCOL)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.RESPONSE_TIME) != -1)   mResponseTime=cursor.getInt(cursor.getColumnIndex(NodeReaderContract.NodeEntry.RESPONSE_TIME));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_TIMEOUT) != -1)   mLastTimeout=parseDateString(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_TIMEOUT)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.TIMEOUT_RATE) != -1)   mTimeoutRate=cursor.getFloat(cursor.getColumnIndex(NodeReaderContract.NodeEntry.TIMEOUT_RATE));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_CHECKED) != -1)   mLastChecked=parseDateString(cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_CHECKED)));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.FRIENDLY_NAME) != -1)   mSimpleName=cursor.getString(cursor.getColumnIndex(NodeReaderContract.NodeEntry.FRIENDLY_NAME));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.SHOULD_SEND_NOTIFICATION) != -1)   mShouldSendNotification=cursor.getInt(cursor.getColumnIndex(NodeReaderContract.NodeEntry.SHOULD_SEND_NOTIFICATION)) == 1;
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_CONTRACT_SENT) != -1)   mLastContractSent=cursor.getLong(cursor.getColumnIndex(NodeReaderContract.NodeEntry.LAST_CONTRACT_SENT));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.REPUTATION) != -1)   mReputation=cursor.getInt(cursor.getColumnIndex(NodeReaderContract.NodeEntry.REPUTATION));
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.IS_OUTDATED) != -1)   mIsOutdated=cursor.getInt(cursor.getColumnIndex(NodeReaderContract.NodeEntry.IS_OUTDATED)) == 1;
  if (cursor.getColumnIndex(NodeReaderContract.NodeEntry.SPACE_AVAILABLE) != -1)   mSpaceAvailable=cursor.getInt(cursor.getColumnIndex(NodeReaderContract.NodeEntry.SPACE_AVAILABLE)) == 1;
}