SDA SE Wiki

Software Engineering for Smart Data Analytics & Smart Data Analytics for Software Engineering

User Tools

Site Tools


Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
teaching:labs:xp:2008a:bugs [2008/03/28 05:52]
guenter
teaching:labs:xp:2008a:bugs [2018/05/09 01:59] (current)
Line 1: Line 1:
 +====== Bugs ======
  
 +  * **Linking**: ​
 +    * [[#​\"​show editor selection in factbase inspector\"​ does not work]] ​
 +      * Works but does not give any feedback if the selection is not 100% right. -> FIXME
 +    * [[#​\"​show in editor\"​ erroneous error message for external classes]] -> FIXME
 +  * **Inspector**: ​
 +    * [[#​reference to ancestor is not displayed]] -> FIXME
 +    * [[#error markers for nodes in inspector]] -> declared to be a feature (4.th iteration) ​
 +  * **Factbases**: ​
 +    * [[#import and export - misworded explanation text]] -> completed (4.th iteration)
 +    * [[#import - no way to name process]] -> partly completed (4.th iteration)
 +      * ... but the creation of a new process in the case that a new name is entered isn't implemented yet! -> FIXME
 +    * [[#no factbase creation for imported project]] -> :?:
 +    * [[#remove jt nature error message in spite of actual removal]]->​ :?:
 +  * **Statistics**: ​
 +    * [[#no feedback during long actions]] -> :?:
 +    * [[#clicking on a program element type blocks the gui for seconds]]->​ :?:
 +    * [[#​unhandled event loop exception]]->​ :?:
 +
 +----
 +
 +
 +
 +
 +
 +
 +
 +
 +===== "​Source Code Linking"​ Storybook =====
 +
 +
 +
 +==== "Show Editor selection in Factbase Inspector"​ does not work ====
 +
 +At least it didn't work for the client / there is not intuitive way how to get it running.
 +
 +
 +
 +
 +==== "Show in Editor"​ Erroneous Error Message for External Classes ====
 +
 +The error message that appears when trying to open from the console an external class such as java.lang.Class.EnclosingMethodInfo in the Java editor is misworded:
 +
 +{{.:​screenshots:​could_not_find_source_location.png|}}
 +
 +Here is a suggestion for a quick fix:
 +
 +"There is no source code location for the abstract syntax tree node with id '​37457'​ in class '​...'​. ​ The element is either available as byte code only or it has been generated ​ by a JTransformer transformation or by the Java compiler (e.g. for an implicit default constructor)." ​
 +
 +HOowever, instead of rewording the error message the preferred solution is to integrate the same logic as the one used in the Factbase Inspector:​!:​ Depending on the source code linking and transformation status of the node 
 +  * show the original source code in the editor (if unchanged and with source code connection),​ or 
 +  * show the side-by side-comparison (for transformed nodes with source code connection) or 
 +  * say that there is no source code because the element is part of code automatically generated by the Java compiler (e.g. for implicit default constructors). ​
 +
 +
 +
 +
 +
 +===== "​Factbase Inspection"​ Storybook =====
 +
 +
 +
 +==== Reference to ancestor is not displayed ====
 +
 +A reference that points to an ancestor is not displayed. The view is scrolled up to the highest displayed
 +ancestor, but the one that should be displayed isn't (if it is even higher above). ​
 +
 +//​FIX//: ​
 +  - Always open a new inspector!
 +  - Add a preference toggle to the toolbar that lets you switch from the "Open References in New Inspector"​ to "Open References Inline"​ behaviour.
 +  - Implement the "Open reference inline"​ by displaying the reference like a child of the node (so that they can be expanded like children) but group references in a pseudo node "​REFERENCES"​ (as done for the "​Unreferenced Children"​). Place this group at the end. 
 +
 +
 +
 +==== Error Markers for Nodes in Inspector ====
 +
 +{{:​teaching:​labs:​xp:​2008a:​screenshots:​error_-_does_not_fulfill_constraints.jpg|}}
 +
 +Fixed: It's a feature, not a bug!
 +
 +===== "​Factbase Management"​ Storybook =====
 +
 +==== Import and Export - Misworded explanation text ====
 +
 +{{:​teaching:​labs:​xp:​2008a:​screenshots:​export_dialog_-_misworded.jpg|}}
 +
 +{{:​teaching:​labs:​xp:​2008a:​screenshots:​import_dialog_-_misworded.jpg|}}
 +
 +==== Import - No way to name process ====
 +
 +When importing a qlf file it is not possible to type in the name of a new process. (see also comments in previous screenshot above)
 +
 +{{:​teaching:​labs:​xp:​2008a:​screenshots:​import_dialog_-_no_way_to_name_process.jpg|When importing a qlf file it is not possible to type in the name of a new process}}
 +
 +
 +==== No Factbase Creation for Imported Project ====
 +
 +If a project imported to the workspace already has the JTransformer nature, JT does not create a factbase. ​
 +All the factbase selectors show "( nothing to select )"​. ​
 +
 +This behaviour persists even if one opens a prolog console and chooses explicitly the right process.
 +
 +
 +==== Remove JT nature error message in spite of actual removal ====
 + 
 +The following appears for the imported JHotDraw project //although the nature is actually removed//.
 +
 +{{:​teaching:​labs:​xp:​2008a:​screenshots:​error_-_remove_jtnature.jpg|Remove JT nature error message appears in spite of effective removal}}
 +
 +
 +===== "​Factbase Statistics"​ Storybook =====
 +
 +==== No Feedback during long actions ====
 +
 +Selecting "​source only" or "byte code only" has no immediately visible reaction.
 +Updating the display takes 10 seconds without displaying a progress bar or any other feedback.
 +
 +-> make it faster or display progress bar.
 +
 +==== Clicking on a Program Element Type blocks the GUI for seconds ====
 +
 +Any cklick on the PET selector blocks the GUI for a (too) long time.
 +
 +-> Find out what the problem is (PRolog, transfer of results from prolog, your own code, the Graph view) and make it faster!
 +
 +
 +==== Unhandled Event loop Exception ====
 +
 +... when changing the selection from source only to source and bytecode:
 +
 +<​Code>​
 +org.eclipse.swt.SWTException:​ Widget is disposed
 + at org.eclipse.swt.SWT.error(SWT.java:​3563)
 + at org.eclipse.swt.SWT.error(SWT.java:​3481)
 + at org.eclipse.swt.SWT.error(SWT.java:​3452)
 + at org.eclipse.swt.widgets.Widget.error(Widget.java:​432)
 + at org.eclipse.swt.widgets.Widget.checkWidget(Widget.java:​325)
 + at org.eclipse.swt.widgets.TabFolder.getSelectionIndex(TabFolder.java:​421)
 + at org.cs3.jtransformer.factbasevisualizer.FactTypeChooserDialog.getCurrentlyActiveTab(FactTypeChooserDialog.java:​141)
 + at org.cs3.jtransformer.factbasevisualizer.FactTypeChooserDialog.refreshScrollContainer(FactTypeChooserDialog.java:​336)
 + at org.cs3.jtransformer.factbasevisualizer.JTransformerFactbaseView$FactTypeChooserAction.updateDialog(JTransformerFactbaseView.java:​261)
 + at org.cs3.jtransformer.factbasevisualizer.JTransformerFactbaseView.updateChart(JTransformerFactbaseView.java:​339)
 + at org.cs3.jtransformer.factbasevisualizer.JTransformerFactbaseView$6.widgetSelected(JTransformerFactbaseView.java:​515)
 + at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:​227)
 + at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:​66)
 + at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:​938)
 + at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:​3682)
 + at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:​3293)
 + at org.eclipse.ui.internal.Workbench.runEventLoop(Workbench.java:​2389)
 + at org.eclipse.ui.internal.Workbench.runUI(Workbench.java:​2353)
 + at org.eclipse.ui.internal.Workbench.access$4(Workbench.java:​2219)
 + at org.eclipse.ui.internal.Workbench$4.run(Workbench.java:​466)
 + at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:​289)
 + at org.eclipse.ui.internal.Workbench.createAndRunWorkbench(Workbench.java:​461)
 + at org.eclipse.ui.PlatformUI.createAndRunWorkbench(PlatformUI.java:​149)
 + at org.eclipse.ui.internal.ide.application.IDEApplication.start(IDEApplication.java:​106)
 + at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:​169)
 + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:​106)
 + at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:​76)
 + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:​363)
 + at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:​176)
 + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
 + at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
 + at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
 + at java.lang.reflect.Method.invoke(Unknown Source)
 + at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:​508)
 + at org.eclipse.equinox.launcher.Main.basicRun(Main.java:​447)
 + at org.eclipse.equinox.launcher.Main.run(Main.java:​1173)
 + at org.eclipse.equinox.launcher.Main.main(Main.java:​1148)
 +
 +</​Code>​
teaching/labs/xp/2008a/bugs.txt · Last modified: 2018/05/09 01:59 (external edit)

SEWiki, © 2020