Program: 18682
Project: 18682
Buggy source:
@Override protected void onDraw(Canvas canvas){
  super.onDraw(canvas);
  if (mDataNotSet)   return;
  long starttime=System.currentTimeMillis();
  if (mFilterData) {
    mData=getFilteredData();
    Log.i(LOG_TAG,"String_Node_Str" + (System.currentTimeMillis() - starttime) + "String_Node_Str");
    starttime=System.currentTimeMillis();
  }
 else {
    mData=getData();
  }
  if (mXAxis.isAdjustXLabelsEnabled())   calcModulus();
  drawGridBackground();
  mAxisRendererLeft.computeAxis(mAxisLeft.mAxisMinimum,mAxisLeft.mAxisMaximum);
  mAxisRendererRight.computeAxis(mAxisRight.mAxisMinimum,mAxisRight.mAxisMaximum);
  int clipRestoreCount=mDrawCanvas.save();
  mDrawCanvas.clipRect(mViewPortHandler.getContentRect());
  mXAxisRenderer.renderGridLines(mDrawCanvas);
  mAxisRendererLeft.renderGridLines(mDrawCanvas);
  mAxisRendererRight.renderGridLines(mDrawCanvas);
  mRenderer.drawData(mDrawCanvas);
  mAxisRendererLeft.renderLimitLines(mDrawCanvas,mValueFormatter);
  mAxisRendererRight.renderLimitLines(mDrawCanvas,mValueFormatter);
  if (mHighlightEnabled && mHighLightIndicatorEnabled && valuesToHighlight())   mRenderer.drawHighlighted(mDrawCanvas,mIndicesToHightlight);
  mDrawCanvas.restoreToCount(clipRestoreCount);
  mRenderer.drawExtras(mDrawCanvas);
  mXAxisRenderer.renderAxis(mDrawCanvas);
  mAxisRendererLeft.renderAxis(mDrawCanvas);
  mAxisRendererRight.renderAxis(mDrawCanvas);
  mRenderer.drawValues(mDrawCanvas);
  drawLegend();
  drawMarkers();
  drawDescription();
  canvas.drawBitmap(mDrawBitmap,0,0,mDrawPaint);
  if (mLogEnabled)   Log.i(LOG_TAG,"String_Node_Str" + (System.currentTimeMillis() - starttime) + "String_Node_Str");
}

Fixed version (ground truth):
@Override protected void onDraw(Canvas canvas){
  super.onDraw(canvas);
  if (mDataNotSet)   return;
  long starttime=System.currentTimeMillis();
  if (mFilterData) {
    mData=getFilteredData();
    Log.i(LOG_TAG,"String_Node_Str" + (System.currentTimeMillis() - starttime) + "String_Node_Str");
    starttime=System.currentTimeMillis();
  }
 else {
    mData=getData();
  }
  if (mXAxis.isAdjustXLabelsEnabled())   calcModulus();
  drawGridBackground();
  mAxisRendererLeft.computeAxis(mAxisLeft.mAxisMinimum,mAxisLeft.mAxisMaximum);
  mAxisRendererRight.computeAxis(mAxisRight.mAxisMinimum,mAxisRight.mAxisMaximum);
  int clipRestoreCount=mDrawCanvas.save();
  mDrawCanvas.clipRect(mViewPortHandler.getContentRect());
  mXAxisRenderer.renderGridLines(mDrawCanvas);
  mAxisRendererLeft.renderGridLines(mDrawCanvas);
  mAxisRendererRight.renderGridLines(mDrawCanvas);
  mRenderer.drawData(mDrawCanvas);
  mAxisRendererLeft.renderLimitLines(mDrawCanvas);
  mAxisRendererRight.renderLimitLines(mDrawCanvas);
  if (mHighlightEnabled && mHighLightIndicatorEnabled && valuesToHighlight())   mRenderer.drawHighlighted(mDrawCanvas,mIndicesToHightlight);
  mDrawCanvas.restoreToCount(clipRestoreCount);
  mRenderer.drawExtras(mDrawCanvas);
  mXAxisRenderer.renderAxis(mDrawCanvas);
  mAxisRendererLeft.renderAxis(mDrawCanvas);
  mAxisRendererRight.renderAxis(mDrawCanvas);
  mRenderer.drawValues(mDrawCanvas);
  drawLegend();
  drawMarkers();
  drawDescription();
  canvas.drawBitmap(mDrawBitmap,0,0,mDrawPaint);
  if (mLogEnabled)   Log.i(LOG_TAG,"String_Node_Str" + (System.currentTimeMillis() - starttime) + "String_Node_Str");
}