Program: 92018
Project: 92018
Buggy source:
/** 
 * Validates the kernel composite input data.
 * @return true if configured data is valid and can be retrieved.
 */
public boolean isValid(){
  fIsTracepoints=fTracepointsActivateButton.getSelection();
  fIsSysCalls=fSysCallsActivateButton.getSelection();
  fIsDynamicProbe=fProbeActivateButton.getSelection();
  fIsDynamicFunctionProbe=fFunctionActivateButton.getSelection();
  fIsAllTracepoints=false;
  fSelectedEvents=new ArrayList<String>();
  if (fIsTracepoints) {
    List<ITraceControlComponent> comps=fProviderGroup.getChildren(KernelProviderComponent.class);
    fIsAllTracepoints=fTracepointsViewer.getChecked(comps.get(0));
    Object[] checkedElements=fTracepointsViewer.getCheckedElements();
    for (int i=0; i < checkedElements.length; i++) {
      ITraceControlComponent component=(ITraceControlComponent)checkedElements[i];
      if (component instanceof BaseEventComponent) {
        fSelectedEvents.add(component.getName());
      }
    }
  }
  if (fIsDynamicProbe) {
    String temp=fProbeEventNameText.getText();
    if (!temp.matches("String_Node_Str") && !temp.matches("String_Node_Str")) {
      MessageDialog.openError(getShell(),Messages.TraceControl_EnableEventsDialogTitle,Messages.TraceControl_InvalidProbeNameError + "String_Node_Str" + temp+ "String_Node_Str");
      return false;
    }
    if (!fProbeText.getText().matches("String_Node_Str")) {
      fProbeEventName=temp;
      fProbeString=fProbeText.getText();
    }
  }
  fFunctionEventName=null;
  fFunctionString=null;
  if (fIsDynamicFunctionProbe) {
    String functionTemp=fFunctionEventNameText.getText();
    if (!functionTemp.matches("String_Node_Str") && !functionTemp.matches("String_Node_Str")) {
      MessageDialog.openError(getShell(),Messages.TraceControl_EnableEventsDialogTitle,Messages.TraceControl_InvalidProbeNameError + "String_Node_Str" + functionTemp+ "String_Node_Str");
      return false;
    }
    if (!fFunctionText.getText().matches("String_Node_Str")) {
      fFunctionEventName=functionTemp;
      fFunctionString=fFunctionText.getText();
    }
  }
  return true;
}

Fixed version (ground truth):
/** 
 * Validates the kernel composite input data.
 * @return true if configured data is valid and can be retrieved.
 */
public boolean isValid(){
  fIsTracepoints=fTracepointsActivateButton.getSelection();
  fIsSysCalls=fSysCallsActivateButton.getSelection();
  fIsDynamicProbe=fProbeActivateButton.getSelection();
  fIsDynamicFunctionProbe=fFunctionActivateButton.getSelection();
  fIsAllTracepoints=false;
  fSelectedEvents=new ArrayList<String>();
  if (fIsTracepoints) {
    List<ITraceControlComponent> comps=fProviderGroup.getChildren(KernelProviderComponent.class);
    fIsAllTracepoints=fTracepointsViewer.getChecked(comps.get(0));
    Object[] checkedElements=fTracepointsViewer.getCheckedElements();
    for (int i=0; i < checkedElements.length; i++) {
      ITraceControlComponent component=(ITraceControlComponent)checkedElements[i];
      if (component instanceof BaseEventComponent) {
        fSelectedEvents.add(component.getName());
      }
    }
  }
  if (fIsDynamicProbe) {
    String temp=fProbeEventNameText.getText();
    if (temp.isEmpty() || fProbeText.getText().matches("String_Node_Str") || (!temp.matches("String_Node_Str") && !temp.matches("String_Node_Str"))) {
      MessageDialog.openError(getShell(),Messages.TraceControl_EnableEventsDialogTitle,Messages.TraceControl_InvalidProbeNameError + "String_Node_Str" + temp+ "String_Node_Str");
      return false;
    }
    fProbeEventName=temp;
    fProbeString=fProbeText.getText();
  }
  fFunctionEventName=null;
  fFunctionString=null;
  if (fIsDynamicFunctionProbe) {
    String functionTemp=fFunctionEventNameText.getText();
    if (functionTemp.isEmpty() || functionTemp.matches("String_Node_Str") || (!functionTemp.matches("String_Node_Str") && !functionTemp.matches("String_Node_Str"))) {
      MessageDialog.openError(getShell(),Messages.TraceControl_EnableEventsDialogTitle,Messages.TraceControl_InvalidProbeNameError + "String_Node_Str" + functionTemp+ "String_Node_Str");
      return false;
    }
    fFunctionEventName=functionTemp;
    fFunctionString=fFunctionText.getText();
  }
  return true;
}