Program: 140057
Project: 140057
Buggy source:
@Override protected void addFieldsListeners(){
  minValue.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      String min=minValue.getText();
      if (min == "String_Node_Str") {
        updateStatus(IStatus.ERROR,MSG_EMPTY);
      }
 else       if (!CheckValueUtils.isRealNumberValue(min)) {
        updateStatus(IStatus.ERROR,MSG_ONLY_REAL_NUMBER);
      }
 else {
        updateStatus(IStatus.OK,MSG_OK);
      }
    }
  }
);
  maxValue.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      String max=maxValue.getText();
      if (max == "String_Node_Str") {
        updateStatus(IStatus.ERROR,MSG_EMPTY);
      }
 else       if (!CheckValueUtils.isRealNumberValue(max)) {
        updateStatus(IStatus.ERROR,MSG_ONLY_REAL_NUMBER);
      }
 else {
        updateStatus(IStatus.OK,MSG_OK);
      }
    }
  }
);
  numbOfBins.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      String numb=numbOfBins.getText();
      if (numb == "String_Node_Str") {
        updateStatus(IStatus.ERROR,MSG_EMPTY);
      }
 else       if (!CheckValueUtils.isNumberValue(numb)) {
        updateStatus(IStatus.ERROR,MSG_ONLY_NUMBER);
      }
 else {
        updateStatus(IStatus.OK,MSG_OK);
      }
    }
  }
);
  isSetRange.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      int numb=numbOfBins.getText().equals("String_Node_Str") ? 0 : Integer.parseInt(numbOfBins.getText());
      boolean flag=((Button)e.getSource()).getSelection();
      if (flag && numb > 0) {
        addSlice.setEnabled(true);
        delSlice.setEnabled(true);
        minValue.setEnabled(false);
        maxValue.setEnabled(false);
        numbOfBins.setEnabled(false);
        double min=Double.parseDouble(minValue.getText());
        double max=Double.parseDouble(maxValue.getText());
        Domain customerDomin=DomainHelper.createContiguousClosedBinsIntoDomain("String_Node_Str",numb,min,max);
        tableViewer.setInput(customerDomin.getRanges());
      }
 else {
        addSlice.setEnabled(false);
        delSlice.setEnabled(false);
        minValue.setEnabled(true);
        maxValue.setEnabled(true);
        numbOfBins.setEnabled(true);
        tableViewer.setInput("String_Node_Str");
      }
    }
  }
);
  addSlice.addSelectionListener(new SelectionAdapter(){
    @SuppressWarnings("String_Node_Str") @Override public void widgetSelected(    SelectionEvent e){
      if (tableViewer.getInput() instanceof List) {
        List<RangeRestriction> inputList=(List<RangeRestriction>)tableViewer.getInput();
        RangeRestriction newRange=DomainHelper.createRealRangeRestriction(0,0);
        inputList.add(newRange);
        tableViewer.setInput(inputList);
      }
    }
  }
);
  delSlice.addSelectionListener(new SelectionAdapter(){
    @SuppressWarnings("String_Node_Str") @Override public void widgetSelected(    SelectionEvent e){
      boolean flag=!tableViewer.getSelection().isEmpty();
      if (flag) {
        IStructuredSelection selection=(IStructuredSelection)tableViewer.getSelection();
        RangeRestriction range=(RangeRestriction)selection.getFirstElement();
        if (tableViewer.getInput() instanceof List) {
          List<RangeRestriction> inputList=(List<RangeRestriction>)tableViewer.getInput();
          inputList.remove(range);
          tableViewer.setInput(inputList);
        }
      }
    }
  }
);
}

Fixed version (ground truth):
@Override protected void addFieldsListeners(){
  minValue.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      String mintxt=minValue.getText();
      String maxtxt=maxValue.getText();
      if (mintxt == "String_Node_Str") {
        updateStatus(IStatus.ERROR,MSG_EMPTY);
      }
 else       if (!CheckValueUtils.isRealNumberValue(mintxt)) {
        updateStatus(IStatus.ERROR,MSG_ONLY_REAL_NUMBER);
      }
 else       if (!maxtxt.equals("String_Node_Str") && CheckValueUtils.isAoverB(mintxt,maxtxt)) {
        updateStatus(IStatus.ERROR,UIMessages.MSG_LOWER_LESS_HIGHER);
      }
 else {
        min=Double.parseDouble(mintxt);
        updateStatus(IStatus.OK,MSG_OK);
      }
    }
  }
);
  maxValue.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      String mintxt=minValue.getText();
      String maxtxt=maxValue.getText();
      if (maxtxt == "String_Node_Str") {
        updateStatus(IStatus.ERROR,MSG_EMPTY);
      }
 else       if (!CheckValueUtils.isRealNumberValue(maxtxt)) {
        updateStatus(IStatus.ERROR,MSG_ONLY_REAL_NUMBER);
      }
 else       if (!mintxt.equals("String_Node_Str") && CheckValueUtils.isAoverB(mintxt,maxtxt)) {
        updateStatus(IStatus.ERROR,UIMessages.MSG_LOWER_LESS_HIGHER);
      }
 else {
        max=Double.parseDouble(maxtxt);
        updateStatus(IStatus.OK,MSG_OK);
      }
    }
  }
);
  numbOfBins.addModifyListener(new ModifyListener(){
    public void modifyText(    ModifyEvent e){
      String numbtxt=numbOfBins.getText();
      if (numbtxt == "String_Node_Str") {
        updateStatus(IStatus.ERROR,MSG_EMPTY);
      }
 else       if (!CheckValueUtils.isNumberValue(numbtxt)) {
        updateStatus(IStatus.ERROR,MSG_ONLY_NUMBER);
      }
 else {
        numb=Integer.parseInt(numbtxt);
        updateStatus(IStatus.OK,MSG_OK);
      }
    }
  }
);
  isSetRange.addSelectionListener(new SelectionAdapter(){
    @Override public void widgetSelected(    SelectionEvent e){
      boolean flag=((Button)e.getSource()).getSelection();
      if (flag && numb > 0) {
        addSlice.setEnabled(true);
        delSlice.setEnabled(true);
        minValue.setEnabled(false);
        maxValue.setEnabled(false);
        numbOfBins.setEnabled(false);
        Domain customerDomin=DomainHelper.createContiguousClosedBinsIntoDomain("String_Node_Str",numb,min,max);
        tableViewer.setInput(customerDomin.getRanges());
      }
 else {
        addSlice.setEnabled(false);
        delSlice.setEnabled(false);
        minValue.setEnabled(true);
        maxValue.setEnabled(true);
        numbOfBins.setEnabled(true);
        tableViewer.setInput("String_Node_Str");
      }
    }
  }
);
  addSlice.addSelectionListener(new SelectionAdapter(){
    @SuppressWarnings("String_Node_Str") @Override public void widgetSelected(    SelectionEvent e){
      if (tableViewer.getInput() instanceof List) {
        List<RangeRestriction> inputList=(List<RangeRestriction>)tableViewer.getInput();
        RangeRestriction newRange=DomainHelper.createRealRangeRestriction(0,0);
        inputList.add(newRange);
        tableViewer.setInput(inputList);
      }
    }
  }
);
  delSlice.addSelectionListener(new SelectionAdapter(){
    @SuppressWarnings("String_Node_Str") @Override public void widgetSelected(    SelectionEvent e){
      boolean flag=!tableViewer.getSelection().isEmpty();
      if (flag) {
        IStructuredSelection selection=(IStructuredSelection)tableViewer.getSelection();
        RangeRestriction range=(RangeRestriction)selection.getFirstElement();
        if (tableViewer.getInput() instanceof List) {
          List<RangeRestriction> inputList=(List<RangeRestriction>)tableViewer.getInput();
          inputList.remove(range);
          tableViewer.setInput(inputList);
        }
      }
    }
  }
);
}