Program: 92702
Project: 92702
Buggy source:
@SuppressWarnings("String_Node_Str") @Override public void tsfTmProcessSelEvent(TmfTimeSelectionEvent event){
  Object source=event.getSource();
  if (source == null || !(source instanceof ITimeAnalysisViewer)) {
    return;
  }
  ITimeAnalysisViewer rViewer=(ITimeAnalysisViewer)event.getSource();
  ITimeAnalysisViewer synchViewer=null;
  if (tsfviewer == rViewer) {
    synchViewer=tsfviewer2;
  }
 else {
    synchViewer=tsfviewer;
  }
  Object selection=event.getSelection();
  long selTimens=event.getSelectedTime();
  long tms=(long)(selTimens * 1E-6);
  Date date=new Date(tms);
  String fDate=stimeformat.format(date);
  String ns=formatNs(selTimens);
  if (selection instanceof EventImpl) {
    EventImpl selEvent=(EventImpl)selection;
    date=new Date((long)(selTimens / 1E-6));
    System.out.println("String_Node_Str" + selEvent.getType().toString() + "String_Node_Str"+ selEvent.getTime()+ "String_Node_Str"+ selEvent.getEntry().getName()+ "String_Node_Str"+ event.getDType().toString()+ "String_Node_Str"+ selTimens+ "String_Node_Str"+ fDate+ "String_Node_Str"+ ns);
    synchViewer.setSelectedEvent(selEvent,source);
  }
 else   if (selection instanceof TraceImpl) {
    TraceImpl selTrace=(TraceImpl)selection;
    System.out.println("String_Node_Str" + selTrace.getName().toString() + "String_Node_Str"+ selTrace.getClassName()+ "String_Node_Str"+ selTrace.getTraceEvents().size()+ "String_Node_Str"+ event.getDType().toString()+ "String_Node_Str"+ selTimens+ "String_Node_Str"+ fDate+ "String_Node_Str"+ ns);
    synchViewer.setSelectedTraceTime(selTrace,event.getSelectedTime(),source);
  }
 else {
    System.out.println("String_Node_Str" + selection.getClass().getName());
  }
}

Fixed version (ground truth):
@SuppressWarnings("String_Node_Str") @Override public void tsfTmProcessSelEvent(TmfTimeSelectionEvent event){
  Object source=event.getSource();
  if (source == null || !(source instanceof ITimeAnalysisViewer)) {
    return;
  }
  ITimeAnalysisViewer rViewer=(ITimeAnalysisViewer)event.getSource();
  ITimeAnalysisViewer synchViewer=null;
  if (tsfviewer == rViewer) {
    synchViewer=tsfviewer2;
  }
 else {
    synchViewer=tsfviewer;
  }
  Object selection=event.getSelection();
  long selTimens=event.getSelectedTime();
  long tms=(long)(selTimens * 1E-6);
  Date date=new Date(tms);
  String fDate=stimeformat.format(date);
  String ns=formatNs(selTimens);
  if (selection instanceof EventImpl) {
    EventImpl selEvent=(EventImpl)selection;
    System.out.println("String_Node_Str" + selEvent.getType().toString() + "String_Node_Str"+ selEvent.getTime()+ "String_Node_Str"+ selEvent.getEntry().getName()+ "String_Node_Str"+ event.getDType().toString()+ "String_Node_Str"+ selTimens+ "String_Node_Str"+ fDate+ "String_Node_Str"+ ns);
    synchViewer.setSelectedEvent(selEvent,source);
  }
 else   if (selection instanceof TraceImpl) {
    TraceImpl selTrace=(TraceImpl)selection;
    System.out.println("String_Node_Str" + selTrace.getName().toString() + "String_Node_Str"+ selTrace.getClassName()+ "String_Node_Str"+ selTrace.getTraceEvents().size()+ "String_Node_Str"+ event.getDType().toString()+ "String_Node_Str"+ selTimens+ "String_Node_Str"+ fDate+ "String_Node_Str"+ ns);
    synchViewer.setSelectedTraceTime(selTrace,event.getSelectedTime(),source);
  }
 else {
    System.out.println("String_Node_Str" + selection.getClass().getName());
  }
}