Program: 140257
Project: 140257
Buggy source:
static void addMenuToTableItem(final Table table,final Indicator indicaotr){
  Menu menu=new Menu(table.getShell(),SWT.POP_UP);
  table.setMenu(menu);
  MenuItem item=new MenuItem(menu,SWT.PUSH);
  item.setText("String_Node_Str");
  item.setImage(ImageLib.getImage(ImageLib.EXPLORE_IMAGE));
  item.addListener(SWT.Selection,new Listener(){
    public void handleEvent(    Event event){
      IEditorPart activeEditor=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
      AnalysisEditor editor=(AnalysisEditor)activeEditor;
      ColumnMasterDetailsPage page=(ColumnMasterDetailsPage)editor.getMasterPage();
      Analysis analysis=page.getAnalysisHandler().getAnalysis();
      if (analysis != null) {
        PatternExplorer patternExplorer=new PatternExplorer();
        patternExplorer.setIndicator(indicaotr);
        patternExplorer.setAnalysis(analysis);
        String query=patternExplorer.getInvalidRowsStatement();
        new ChangePerspectiveAction(PluginConstant.SE_ID).run();
        Collection<Alias> aliases=SQLExplorerPlugin.getDefault().getAliasManager().getAliases();
        TdDataProvider tdDataProvider=SwitchHelpers.TDDATAPROVIDER_SWITCH.doSwitch(analysis.getContext().getConnection());
        if (tdDataProvider != null) {
          TypedReturnCode<TdProviderConnection> tdPc=DataProviderHelper.getTdProviderConnection(tdDataProvider);
          TdProviderConnection providerConnection=tdPc.getObject();
          String url=providerConnection.getConnectionString();
          for (          Alias alias : aliases) {
            if (alias.getUrl().equals(url)) {
              SQLEditorInput input=new SQLEditorInput("String_Node_Str" + indicaotr.getName() + "String_Node_Str");
              input.setUser(alias.getDefaultUser());
              try {
                IWorkbenchPage workPage=SQLExplorerPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
                SQLEditor editorPart=(SQLEditor)workPage.openEditor((IEditorInput)input,SQLEditor.class.getName());
                editorPart.setText(query);
                ExecSQLAction execSQLAction=new ExecSQLAction(editorPart);
                execSQLAction.run();
              }
 catch (              PartInitException e) {
                e.printStackTrace();
              }
            }
          }
        }
      }
    }
  }
);
  menu.setVisible(true);
}

Fixed version (ground truth):
static void addMenuToTableItem(final Table table,final Indicator indicaotr){
  Menu menu=new Menu(table.getShell(),SWT.POP_UP);
  table.setMenu(menu);
  MenuItem item=new MenuItem(menu,SWT.PUSH);
  item.setText("String_Node_Str");
  item.setImage(ImageLib.getImage(ImageLib.EXPLORE_IMAGE));
  item.addListener(SWT.Selection,new Listener(){
    public void handleEvent(    Event event){
      IEditorPart activeEditor=PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage().getActiveEditor();
      AnalysisEditor editor=(AnalysisEditor)activeEditor;
      ColumnMasterDetailsPage page=(ColumnMasterDetailsPage)editor.getMasterPage();
      Analysis analysis=page.getAnalysisHandler().getAnalysis();
      if (analysis != null) {
        PatternExplorer patternExplorer=new PatternExplorer();
        patternExplorer.setIndicator(indicaotr);
        patternExplorer.setAnalysis(analysis);
        String query=patternExplorer.getInvalidRowsStatement();
        new ChangePerspectiveAction(PluginConstant.SE_ID).run();
        Collection<Alias> aliases=SQLExplorerPlugin.getDefault().getAliasManager().getAliases();
        TdDataProvider tdDataProvider=SwitchHelpers.TDDATAPROVIDER_SWITCH.doSwitch(analysis.getContext().getConnection());
        if (tdDataProvider != null) {
          TypedReturnCode<TdProviderConnection> tdPc=DataProviderHelper.getTdProviderConnection(tdDataProvider);
          TdProviderConnection providerConnection=tdPc.getObject();
          String url=providerConnection.getConnectionString();
          for (          Alias alias : aliases) {
            if (alias.getUrl().equals(url)) {
              SQLEditorInput input=new SQLEditorInput("String_Node_Str" + indicaotr.getName() + "String_Node_Str");
              input.setUser(alias.getDefaultUser());
              try {
                IWorkbenchPage workPage=SQLExplorerPlugin.getDefault().getWorkbench().getActiveWorkbenchWindow().getActivePage();
                SQLEditor editorPart=(SQLEditor)workPage.openEditor((IEditorInput)input,SQLEditor.class.getName());
                editorPart.setText(query);
                ExecSQLAction execSQLAction=new ExecSQLAction(editorPart);
                execSQLAction.run();
                break;
              }
 catch (              PartInitException e) {
                e.printStackTrace();
              }
            }
          }
        }
      }
    }
  }
);
  menu.setVisible(true);
}