Program: 18698
Project: 18698
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();
  float minLeft=mData.getYMin(AxisDependency.LEFT);
  float maxLeft=mData.getYMax(AxisDependency.LEFT);
  float minRight=mData.getYMin(AxisDependency.RIGHT);
  float maxRight=mData.getYMax(AxisDependency.RIGHT);
  mAxisRendererLeft.computeAxis(minLeft,maxLeft);
  mAxisRendererRight.computeAxis(minRight,maxRight);
  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);
  if (mDrawXLabels) {
    mXAxisRenderer.renderAxis(mDrawCanvas);
  }
  if (mDrawYAxis) {
    mAxisRendererLeft.renderAxis(mDrawCanvas);
    mAxisRendererRight.renderAxis(mDrawCanvas);
  }
  mRenderer.drawValues(mDrawCanvas);
  drawLegend();
  drawBorder();
  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,mValueFormatter);
  mAxisRendererRight.renderLimitLines(mDrawCanvas,mValueFormatter);
  if (mHighlightEnabled && mHighLightIndicatorEnabled && valuesToHighlight())   mRenderer.drawHighlighted(mDrawCanvas,mIndicesToHightlight);
  mDrawCanvas.restoreToCount(clipRestoreCount);
  mRenderer.drawExtras(mDrawCanvas);
  if (mDrawXLabels) {
    mXAxisRenderer.renderAxis(mDrawCanvas);
  }
  if (mDrawYAxis) {
    mAxisRendererLeft.renderAxis(mDrawCanvas);
    mAxisRendererRight.renderAxis(mDrawCanvas);
  }
  mRenderer.drawValues(mDrawCanvas);
  drawLegend();
  drawBorder();
  drawMarkers();
  drawDescription();
  canvas.drawBitmap(mDrawBitmap,0,0,mDrawPaint);
  if (mLogEnabled)   Log.i(LOG_TAG,"String_Node_Str" + (System.currentTimeMillis() - starttime) + "String_Node_Str");
}