Program: 194321
Project: 194321
Buggy source:
@Override public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  if (!isVoiceInteraction()) {
    Log.w(TAG,"String_Node_Str");
    finish();
    return;
  }
  if (!VoiceInteractionService.isActiveService(this,new ComponentName(this,MainInteractionService.class))) {
    Log.w(TAG,"String_Node_Str");
    finish();
    return;
  }
  setContentView(R.layout.test_interaction);
  mLog=(TextView)findViewById(R.id.log);
  mAbortButton=(Button)findViewById(R.id.abort);
  mAbortButton.setOnClickListener(this);
  mCompleteButton=(Button)findViewById(R.id.complete);
  mCompleteButton.setOnClickListener(this);
  mCommandButton=(Button)findViewById(R.id.command);
  mCommandButton.setOnClickListener(this);
  mPickButton=(Button)findViewById(R.id.pick);
  mPickButton.setOnClickListener(this);
  mJumpOutButton=(Button)findViewById(R.id.jump);
  mJumpOutButton.setOnClickListener(this);
  mCancelButton=(Button)findViewById(R.id.cancel);
  mCancelButton.setOnClickListener(this);
  mInteractor=getVoiceInteractor();
  VoiceInteractor.Request[] active=mInteractor.getActiveRequests();
  for (int i=0; i < active.length; i++) {
    Log.i(TAG,"String_Node_Str" + i + "String_Node_Str"+ active[i].getName()+ "String_Node_Str"+ active[i]);
  }
  mCurrentRequest=mInteractor.getActiveRequest(REQUEST_CONFIRM);
  if (mCurrentRequest == null) {
    mCurrentRequest=new VoiceInteractor.ConfirmationRequest(new VoiceInteractor.Prompt("String_Node_Str"),null){
      @Override public void onCancel(){
        Log.i(TAG,"String_Node_Str");
        getActivity().finish();
      }
      @Override public void onConfirmationResult(      boolean confirmed,      Bundle result){
        Log.i(TAG,"String_Node_Str" + confirmed + "String_Node_Str"+ result);
        getActivity().finish();
      }
    }
;
    mInteractor.submitRequest(mCurrentRequest,REQUEST_CONFIRM);
  }
 else {
    Log.i(TAG,"String_Node_Str" + mCurrentRequest);
  }
}

Fixed version (ground truth):
@Override public void onCreate(Bundle savedInstanceState){
  super.onCreate(savedInstanceState);
  if (!isVoiceInteraction()) {
    Log.w(TAG,"String_Node_Str");
    finish();
    return;
  }
  if (!VoiceInteractionService.isActiveService(this,new ComponentName(this,MainInteractionService.class))) {
    Log.w(TAG,"String_Node_Str");
    finish();
    return;
  }
  setContentView(R.layout.test_interaction);
  mLog=(TextView)findViewById(R.id.log);
  mAbortButton=(Button)findViewById(R.id.abort);
  mAbortButton.setOnClickListener(this);
  mCompleteButton=(Button)findViewById(R.id.complete);
  mCompleteButton.setOnClickListener(this);
  mCommandButton=(Button)findViewById(R.id.command);
  mCommandButton.setOnClickListener(this);
  mPickButton=(Button)findViewById(R.id.pick);
  mPickButton.setOnClickListener(this);
  mJumpOutButton=(Button)findViewById(R.id.jump);
  mJumpOutButton.setOnClickListener(this);
  mCancelButton=(Button)findViewById(R.id.cancel);
  mCancelButton.setOnClickListener(this);
  mInteractor=getVoiceInteractor();
  VoiceInteractor.Request[] active=mInteractor.getActiveRequests();
  for (int i=0; i < active.length; i++) {
    Log.i(TAG,"String_Node_Str" + i + "String_Node_Str"+ active[i].getName()+ "String_Node_Str"+ active[i]);
  }
  mCurrentRequest=mInteractor.getActiveRequest(REQUEST_CONFIRM);
  if (mCurrentRequest == null) {
    mCurrentRequest=new VoiceInteractor.ConfirmationRequest(new VoiceInteractor.Prompt("String_Node_Str"),null){
      @Override public void onCancel(){
        Log.i(TAG,"String_Node_Str");
        getActivity().finish();
      }
      @Override public void onConfirmationResult(      boolean confirmed,      Bundle result){
        Log.i(TAG,"String_Node_Str" + confirmed + "String_Node_Str"+ result);
        getActivity().finish();
      }
    }
;
    mInteractor.submitRequest(mCurrentRequest,REQUEST_CONFIRM);
    String[] cmds=new String[]{"String_Node_Str","String_Node_Str"};
    boolean sup[]=mInteractor.supportsCommands(cmds);
    for (int i=0; i < cmds.length; i++) {
      mLog.append(cmds[i] + "String_Node_Str" + (sup[i] ? "String_Node_Str" : "String_Node_Str")+ "String_Node_Str");
    }
  }
 else {
    Log.i(TAG,"String_Node_Str" + mCurrentRequest);
  }
}