
The resulting coverage answers the question of how much of the domain information can be extracted and we can conclude that the default Swing handlers are sufficient for common use, because the number of unsuccessful extractions was only 5%, which is an acceptable value. Considering the numbers the coverage of the DEAL prototype has increased to 95%. When we added the support for the Titled bordered Panel, the number of successfully extracted components was increased to 761.
JPopupMenu (1) - DEAL does not support the JPopupMenu component.įigure: JPanels with titled borders (Map size and Tile size).
Internal frames (2) - DEAL could not extract the internal frame title, however the content of the internal frame was extracted properly. Custom objects in trees, lists, comboboxes have no toString() method (2) - class names were extracted instead of the actual data stored in the custom objects. Volume buttons in the GuitarScaleAssistant application have no getValue() method. Poor target application design (7) - e.g. The problem was resolved by adding support for such titled bordered panels. The title of the panel was not extracted because such border is not supported by DEAL. Unsupported Titled bordered Panel component (27) - a JPanel, which has a titled border (see figure). We identified the following causes of extraction failure (the numbers in brackets represent the number of unsuccessful extractions caused by the given issue): Considering these numbers, the DEAL prototype has a 92% coverage. The number of 799 components were counted in all 32 applications and 737 of them were successfully extracted. We also did not open the About or Help window when analysing the application, therefore nor About nor Help domain model were not extracted. In button toolbars, if there were components different from buttons, we counted them as well. Combo-boxes, lists, menus, button toolbars, trees, tab panes and tables were counted as one component, independently on how much data they contained. We did not count application root scenes as successfully extracted components, nor did we count components that visually contained no relevant domain information. Subsequently based on the number of components which DEAL was not able to extract information from, the approximate efficiency of the DEAL process for Java applications was determined. During this experiment some handlers for Swing components were modified based on the minor problems that arised during the extraction process. the component, which contained the data, was identified and investigated for the cause of failure. If any not-extracted data were found, then the cause was identified, i.e. How many percent of components are custom?ĭEAL was used on each application and the extraction of all domain information from the target application was visually confirmed. Are the default Swing handlers sufficient for common use of the DEAL prototype?. How much of the domain information can we extract?. We tried to answer the following questions: The purpose of this experiment is to determine the approximate extent, to which the DEAL prototype can extract domain information from existing applications without creating any special handlers for custom components. Only a few of the selected applications, such as JavaNotePad, have a very little number of components (when not counting the menu) and they are made for a general domain. The list of all selected applications is in the table located in the end of this page. Moreover, we tried to choose applications in various specific domains (not general such as file management) and we looked for UIs with a high number of components.
We assume that the applications with the highest popularity that are actually used by end-users will be more mature than applications, which were not downloaded even once and therefore an application with highest popularity will have a better dictionary. at least 1 component other then menu (the higher number of components the better),.Requirements on the application selection: In the first experiment we verified the coverage of the DEAL default handlers against 31 open-source Java applications downloaded from sourceforge. Experiment 1 - Coverage of the default handlers