Program: 119358
Project: 119358
Buggy source:
@Override public Control createControl(final Composite subComposite,final IElementParameter param,final int numInRow,final int nbInRow,final int top,final Control lastControl){
  Button btnEdit;
  btnEdit=getWidgetFactory().createButton(subComposite,"String_Node_Str",SWT.PUSH);
  btnEdit.setImage(ImageProvider.getImage(CoreUIPlugin.getImageDescriptor(DOTS_BUTTON)));
  FormData data;
  btnEdit.setData(NAME,EXTERNAL);
  btnEdit.setData(PARAMETER_NAME,param.getName());
  btnEdit.addSelectionListener(listenerSelection);
  if (elem instanceof Node) {
    btnEdit.setToolTipText(VARIABLE_TOOLTIP + param.getVariableName());
  }
  CLabel labelLabel=getWidgetFactory().createCLabel(subComposite,param.getDisplayName());
  data=new FormData();
  if (lastControl != null) {
    data.left=new FormAttachment(lastControl,0);
  }
 else {
    data.left=new FormAttachment((((numInRow - 1) * MAX_PERCENT) / nbInRow),0);
  }
  data.top=new FormAttachment(0,top);
  labelLabel.setLayoutData(data);
  if (numInRow != 1) {
    labelLabel.setAlignment(SWT.RIGHT);
  }
  data=new FormData();
  int currentLabelWidth=STANDARD_LABEL_WIDTH;
  GC gc=new GC(labelLabel);
  Point labelSize=gc.stringExtent(param.getDisplayName());
  gc.dispose();
  if ((labelSize.x + ITabbedPropertyConstants.HSPACE) > currentLabelWidth) {
    currentLabelWidth=labelSize.x + ITabbedPropertyConstants.HSPACE;
  }
  if (numInRow == 1) {
    if (lastControl != null) {
      data.left=new FormAttachment(lastControl,currentLabelWidth);
      data.right=new FormAttachment(lastControl,currentLabelWidth + STANDARD_BUTTON_WIDTH);
    }
 else {
      data.left=new FormAttachment(0,currentLabelWidth);
      data.right=new FormAttachment(0,currentLabelWidth + STANDARD_BUTTON_WIDTH);
    }
  }
 else {
    data.left=new FormAttachment(labelLabel,0,SWT.RIGHT);
    data.right=new FormAttachment(labelLabel,STANDARD_BUTTON_WIDTH,SWT.RIGHT);
  }
  data.top=new FormAttachment(0,top);
  btnEdit.setLayoutData(data);
  hashCurControls.put(param.getName(),btnEdit);
  Point initialSize=btnEdit.computeSize(SWT.DEFAULT,SWT.DEFAULT);
  dynamicProperty.setCurRowSize(initialSize.y + ITabbedPropertyConstants.VSPACE);
  return btnEdit;
}

Fixed version (ground truth):
@Override public Control createControl(final Composite subComposite,final IElementParameter param,final int numInRow,final int nbInRow,final int top,final Control lastControl){
  Button btnEdit;
  btnEdit=getWidgetFactory().createButton(subComposite,"String_Node_Str",SWT.PUSH);
  btnEdit.setImage(ImageProvider.getImage(CoreUIPlugin.getImageDescriptor(DOTS_BUTTON)));
  FormData data;
  btnEdit.setData(NAME,EXTERNAL);
  btnEdit.setData(PARAMETER_NAME,param.getName());
  btnEdit.addSelectionListener(listenerSelection);
  if (elem instanceof Node) {
    btnEdit.setToolTipText(VARIABLE_TOOLTIP + param.getVariableName());
  }
  CLabel labelLabel=getWidgetFactory().createCLabel(subComposite,param.getDisplayName());
  data=new FormData();
  if (lastControl != null) {
    data.left=new FormAttachment(lastControl,0);
  }
 else {
    data.left=new FormAttachment((((numInRow - 1) * MAX_PERCENT) / nbInRow),0);
  }
  data.top=new FormAttachment(0,top);
  labelLabel.setLayoutData(data);
  if (numInRow != 1) {
    labelLabel.setAlignment(SWT.RIGHT);
  }
  data=new FormData();
  int currentLabelWidth=STANDARD_LABEL_WIDTH;
  GC gc=new GC(labelLabel);
  Point labelSize=gc.stringExtent(param.getDisplayName());
  gc.dispose();
  if ((labelSize.x + ITabbedPropertyConstants.HSPACE) > currentLabelWidth) {
    currentLabelWidth=labelSize.x + ITabbedPropertyConstants.HSPACE;
  }
  if (numInRow == 1) {
    if (lastControl != null) {
      data.left=new FormAttachment(lastControl,currentLabelWidth);
      data.right=new FormAttachment(lastControl,currentLabelWidth + STANDARD_BUTTON_WIDTH);
    }
 else {
      data.left=new FormAttachment(0,currentLabelWidth);
      data.right=new FormAttachment(0,currentLabelWidth + STANDARD_BUTTON_WIDTH);
    }
  }
 else {
    data.left=new FormAttachment(labelLabel,0,SWT.RIGHT);
    data.right=new FormAttachment(labelLabel,STANDARD_BUTTON_WIDTH,SWT.RIGHT);
  }
  data.top=new FormAttachment(0,top);
  labelLabel.pack();
  btnEdit.pack();
  int labelHeight=labelLabel.getSize().y;
  int btnHeight=btnEdit.getSize().y;
  if (labelHeight < btnHeight) {
    data.height=labelHeight;
  }
  btnEdit.setLayoutData(data);
  hashCurControls.put(param.getName(),btnEdit);
  Point initialSize=btnEdit.computeSize(SWT.DEFAULT,SWT.DEFAULT);
  dynamicProperty.setCurRowSize(initialSize.y + ITabbedPropertyConstants.VSPACE);
  return btnEdit;
}