Program: 11940
Project: 11940
Buggy source:
@Override public View getView(int position,View convertView,ViewGroup parent){
  if (position == 0) {
    topic=((MockReply)items.get(position)).getTopic();
    initializeTopicBody(topic);
    return body;
  }
  final ViewHolder viewHolder;
  if (convertView == null || convertView.getTag() == null) {
    viewHolder=new ViewHolder();
    convertView=LayoutInflater.from(getContext()).inflate(replyResource,null);
    viewHolder.gravatar=(ImageView)convertView.findViewById(R.id.gravatar);
    viewHolder.userName=(TextView)convertView.findViewById(R.id.user_name);
    viewHolder.replyAt=(TextView)convertView.findViewById(R.id.reply_at);
    viewHolder.floor=(TextView)convertView.findViewById(R.id.floor);
    viewHolder.body=(TextView)convertView.findViewById(R.id.body);
    viewHolder.forward=(ImageView)convertView.findViewById(R.id.forward);
    convertView.setTag(viewHolder);
  }
 else {
    viewHolder=(ViewHolder)convertView.getTag();
  }
  final Reply r=items.get(position);
  fragment.requestUserAvatar(r.getUser(),viewHolder.gravatar,0);
  viewHolder.userName.setText(r.getUser().getLogin());
  viewHolder.replyAt.setText("String_Node_Str" + howLongAgo(r.getCreatedAt()) + getContext().getString(R.string.fragment_reply));
  viewHolder.floor.setText(position + "String_Node_Str" + fragment.getString(R.string.reply_list_unit));
  if (HtmlUtil.existsImg(r.getBodyHTML())) {
    fragment.executeRetrieveSpannedTask(viewHolder.body,r.getBodyHTML());
  }
 else {
    viewHolder.body.setText(Html.fromHtml(r.getBodyHTML()));
  }
  viewHolder.gravatar.setOnClickListener(new OnClickListener(){
    @Override public void onClick(    View v){
      fragment.visitUserProfile(r.getUser());
    }
  }
);
  return convertView;
}

Fixed version (ground truth):
@Override public View getView(int position,View convertView,ViewGroup parent){
  if (position == 0) {
    topic=((MockReply)items.get(position)).getTopic();
    initializeTopicBody(topic);
    return body;
  }
  final ViewHolder viewHolder;
  if (convertView == null || convertView.getTag() == null) {
    viewHolder=new ViewHolder();
    convertView=LayoutInflater.from(getContext()).inflate(replyResource,null);
    viewHolder.gravatar=(ImageView)convertView.findViewById(R.id.gravatar);
    viewHolder.userName=(TextView)convertView.findViewById(R.id.user_name);
    viewHolder.replyAt=(TextView)convertView.findViewById(R.id.reply_at);
    viewHolder.floor=(TextView)convertView.findViewById(R.id.floor);
    viewHolder.body=(TextView)convertView.findViewById(R.id.body);
    viewHolder.forward=(ImageView)convertView.findViewById(R.id.forward);
    convertView.setTag(viewHolder);
  }
 else {
    viewHolder=(ViewHolder)convertView.getTag();
  }
  final Reply r=items.get(position);
  fragment.requestUserAvatar(r.getUser(),viewHolder.gravatar,0);
  viewHolder.userName.setText(r.getUser().getLogin());
  viewHolder.replyAt.setText("String_Node_Str" + getCreatedTime(r.getCreatedAt()) + "String_Node_Str"+ getContext().getString(R.string.fragment_reply));
  viewHolder.floor.setText(position + "String_Node_Str" + fragment.getString(R.string.reply_list_unit));
  if (HtmlUtil.existsImg(r.getBodyHTML())) {
    fragment.executeRetrieveSpannedTask(viewHolder.body,r.getBodyHTML());
  }
 else {
    viewHolder.body.setText(Html.fromHtml(r.getBodyHTML()));
  }
  viewHolder.gravatar.setOnClickListener(new OnClickListener(){
    @Override public void onClick(    View v){
      fragment.visitUserProfile(r.getUser());
    }
  }
);
  return convertView;
}