Possible "bad smells" in TV-Browser

For talk and Help about everything concerning TV-Browser.
Antworten
maffort
Newbie
Beiträge: 1
Registriert: 24 Mai 2012, 20:41

Possible "bad smells" in TV-Browser

Beitrag von maffort »

Dear all,

I am a PhD student at UFMG, Brazil. I am working on a tool to
automatically detect architecutral violations, more specifically to
discover dependencies that should exist between two packages but that
in fact does not exist. Basically, to detect such "missing
dependencies" our tool first mines the source code repository to
figure out what we are calling "historical patterns of dependencies
between classes".

We are currently using TV-Browser as one of our case studies to validate
our approach.

After applying the tool to TV-Browser we have detected such "missing dependencies":

Code: Alles auswählen

Source Package                                                     Destination Package
-----------------------------------------------------------------------------------------------
tvbrowser.ui.finder.FinderListener                                 javax.swing.JList
util.ui.view.ViewProperty                                          util.ui.view.ViewProperty
tvbrowser.ui.pluginview.contextmenu.ContextMenu                    tvbrowser.ui.pluginview.PluginTree
tvbrowser.ui.pluginview.PluginTree                                 java.util.ArrayList
tvbrowser.ui.mainframe.toolbar.ToolBarModel                        javax.swing.JPopupMenu
tvbrowser.ui.mainframe.toolbar.ToolBarModel                        util.ui.Localizer
tvbrowser.ui.mainframe.toolbar.ContextMenu                         javax.swing.Action
tvbrowser.core.filters.filtercomponents.MassFilterSettingsDialog   java.lang.Override
tvbrowser.core.filters.filtercomponents.MassFilterSettingsDialog   tvbrowser.core.filters.filtercomponents.AbstractFilterComponent
tvbrowser.core.tvdataservice.TvDataServiceProxyManager             devplugin.ProgressMonitor
tvbrowser.extras.favoritesplugin.core.Favorite                     java.lang.Override
tvbrowser.extras.favoritesplugin.core.Exclusion                    tvbrowser.extras.favoritesplugin.FavoriteConfigurator
tvbrowser.extras.favoritesplugin.core.Exclusion                    java.lang.Override
tvbrowser.extras.favoritesplugin.core.ActorSearcher                tvbrowser.extras.favoritesplugin.FavoriteConfigurator
tvbrowser.extras.favoritesplugin.wizards.AbstractWizardStep        com.jgoodies.forms.layout.CellConstraints
tvbrowser.extras.favoritesplugin.wizards.WizardStep                com.jgoodies.forms.layout.CellConstraints
tvbrowser.extras.favoritesplugin.wizards.WizardHandler             com.jgoodies.forms.layout.CellConstraints
tvbrowser.core.filters.filtercomponents.AbstractFilterComponent    util.ui.Localizer
tvbrowser.core.filters.filtercomponents.AbstractFilterComponent    java.lang.Override
tvbrowser.core.filters.filtercomponents.AbstractFilterComponent    tvbrowser.core.filters.filtercomponents.AbstractFilterComponent
[/size]

Basically, according to our historical analysis, we should expect a
dependency from each of the listed "Source Package" to the listed
"Destination Package". However, such dependencies do not exist in the
current codebase.
To clarify, a dependency denotes any kind of relation between two
classes, including method calls, field access, inheritance, interface
implementation etc.

Therefore, if possible, we would like to confirm with TV-Browser's
developers whether such "missing dependencies" are really relevant,
i.e. if they suggest a design anomaly or a "bad smell".

Best regards,

Cristiano Maffort
PhD Student
CS Dept, UFMG, Brazil
Antworten