Program: 31793
Project: 31793
Buggy source:
@Override public void onRestoreInstanceState(Parcelable state){
  if (state instanceof SavedState) {
    SavedState s=(SavedState)state;
    super.onRestoreInstanceState(s.getSuperState());
    spectrogramPlot.showFreqAlongX=s.freqAxisAlongX == 1;
    spectrumPlot.cursorFreq=s.cFreqSpum;
    spectrogramPlot.cursorFreq=s.cFreqSpam;
    spectrumPlot.cursorDB=s.cDb;
    xZoom=s.xZ;
    xShift=s.xS;
    yZoom=s.yZ;
    yShift=s.yS;
    spectrumPlot.axisX.zoom=s.SpumXZ;
    spectrumPlot.axisX.shift=s.SpumXS;
    spectrumPlot.axisY.zoom=s.SpumYZ;
    spectrumPlot.axisY.shift=s.SpumYS;
    spectrogramPlot.axisFreq.zoom=s.SpamFZ;
    spectrogramPlot.axisFreq.shift=s.SpamFS;
    spectrogramPlot.axisTime.zoom=s.SpamTZ;
    spectrogramPlot.axisTime.shift=s.SpamTS;
    savedDBSpectrum=s.tmpS;
    spectrogramPlot.nFreqPoints=s.nFreq;
    spectrogramPlot.nTimePoints=s.nTime;
    final SpectrogramPlot.SpectrogramBMP sBMP=spectrogramPlot.spectrogramBMP;
    final SpectrogramPlot.SpectrumCompressStore sBMPS=sBMP.spectrumStore;
    sBMPS.nFreq=s.nFreq;
    sBMPS.nTime=s.nTime;
    sBMPS.iTimePointer=s.iTimePinter;
    byte[] input=new byte[(s.nFreq + 1) * s.nTime * 2];
    int bytesRead=-1;
    File tmpSCPath=new File(context.getCacheDir(),"String_Node_Str");
    try {
      InputStream fin=new FileInputStream(tmpSCPath);
      bytesRead=fin.read(input);
      fin.close();
    }
 catch (    IOException e) {
      Log.w("String_Node_Str","String_Node_Str");
    }
    if (bytesRead != input.length) {
      sBMPS.nFreq=0;
      sBMPS.nTime=0;
      sBMPS.iTimePointer=0;
    }
 else {
      short[] tmpSC=new short[input.length / 2];
      for (int i=0; i < tmpSC.length; i++) {
        tmpSC[i]=(short)(input[2 * i] + (input[2 * i + 1] << 8));
      }
      sBMPS.dbShortArray=tmpSC;
      sBMP.rebuildLinearBMP();
    }
    Log.i(TAG,"String_Node_Str" + xShift + "String_Node_Str"+ xZoom+ "String_Node_Str"+ yShift+ "String_Node_Str"+ yZoom);
  }
 else {
    super.onRestoreInstanceState(state);
  }
}

Fixed version (ground truth):
@Override public void onRestoreInstanceState(Parcelable state){
  if (state instanceof SavedState) {
    SavedState s=(SavedState)state;
    super.onRestoreInstanceState(s.getSuperState());
    spectrogramPlot.showFreqAlongX=s.freqAxisAlongX == 1;
    spectrumPlot.cursorFreq=s.cFreqSpum;
    spectrogramPlot.cursorFreq=s.cFreqSpam;
    spectrumPlot.cursorDB=s.cDb;
    xZoom=s.xZ;
    xShift=s.xS;
    yZoom=s.yZ;
    yShift=s.yS;
    spectrumPlot.axisX.zoom=s.SpumXZ;
    spectrumPlot.axisX.shift=s.SpumXS;
    spectrumPlot.axisY.zoom=s.SpumYZ;
    spectrumPlot.axisY.shift=s.SpumYS;
    spectrogramPlot.axisFreq.zoom=s.SpamFZ;
    spectrogramPlot.axisFreq.shift=s.SpamFS;
    spectrogramPlot.axisTime.zoom=s.SpamTZ;
    spectrogramPlot.axisTime.shift=s.SpamTS;
    savedDBSpectrum=s.tmpS;
    spectrogramPlot.nFreqPoints=s.nFreq;
    spectrogramPlot.nTimePoints=s.nTime;
    final SpectrogramPlot.SpectrogramBMP sBMP=spectrogramPlot.spectrogramBMP;
    final SpectrogramPlot.SpectrumCompressStore sBMPS=sBMP.spectrumStore;
    sBMPS.nFreq=s.nFreq;
    sBMPS.nTime=s.nTime;
    sBMPS.iTimePointer=s.iTimePinter;
    byte[] input=new byte[(s.nFreq + 1) * s.nTime * 2];
    int bytesRead=-1;
    File tmpSCPath=new File(context.getCacheDir(),"String_Node_Str");
    try {
      InputStream fin=new FileInputStream(tmpSCPath);
      bytesRead=fin.read(input);
      fin.close();
    }
 catch (    IOException e) {
      Log.w("String_Node_Str","String_Node_Str");
    }
    if (bytesRead != input.length) {
      sBMPS.nFreq=0;
      sBMPS.nTime=0;
      sBMPS.iTimePointer=0;
    }
 else {
      short[] tmpSC=new short[input.length / 2];
      for (int i=0; i < tmpSC.length; i++) {
        tmpSC[i]=(short)(input[2 * i] + (input[2 * i + 1] << 8));
      }
      sBMPS.dbShortArray=tmpSC;
      sBMP.rebuildLinearBMP();
    }
    Log.i(TAG,"String_Node_Str" + xShift + "String_Node_Str"+ xZoom+ "String_Node_Str"+ yShift+ "String_Node_Str"+ yZoom);
  }
 else {
    Log.i(TAG,"String_Node_Str");
    super.onRestoreInstanceState(state);
  }
}