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
research:cultivate:cultivate_14 [2012/09/02 16:38]
Daniel Speicher
research:cultivate:cultivate_14 [2018/05/09 01:59] (current)
Line 1: Line 1:
 +====== Cultivate 1.4, Aztec Dahlia ======
 +
 +| {{  :​research:​cultivate:​dahlia.jpg?​150 ​ |}} |
 +^<​html><​font size="​-3"></​html>​Picture of a dahlia. [[http://​en.wikipedia.org/​wiki/​File:​DahliaDahlstarSunsetPink.jpg|Created by Ramin Nakisa]]. \\ Dahlias have already been [[http://​en.wikipedia.org/​wiki/​Dahlia#​Early_History|cultivated by the Aztecs.]]<​html></​font></​html>​^
 +
 +/*
 +  * (Some) Bug fixes in Metrics
 +  * Experimental museum feature ( FIXME Daniel et al.: Will we release this? ), (Daniel, würde ich aber auch frei geben)
 +*/
 +
 +
 +===== New Android Performance Smells =====
 +Some "​smells"​ are only relevant for a certain culture. As an example we implemented four smells derived from the [[http://​developer.android.com/​guide/​practices/​design/​performance.html|Android Performance Guidelines]]: ​
 +
 +  * [[http://​developer.android.com/​guide/​practices/​design/​performance.html#​prefer_static|Prefer Static Over Virtual]]
 +  * [[http://​developer.android.com/​guide/​practices/​design/​performance.html#​internal_get_set|Avoid Internal Getters/​Setters]]
 +  * [[http://​developer.android.com/​guide/​practices/​design/​performance.html#​use_final|Use Static Final For Constants]]
 +  * [[http://​developer.android.com/​guide/​practices/​design/​performance.html#​package_inner|Consider Package Instead of Private Access with Inner Classes]]
 +
 +In other contexts preferring static over virtual methods must be seen as serious smell, but for performance on Android devices it has a major benefit. The other three criteria could be used for other context as well but are not very important there.
 +
 +
 +===== Improved Overview Pyramid =====
 +|{{:​research:​cultivate:​overview-pyramid.png|}}|
 +^  Improved Overview Pyramid ​ ^
 +The layout of the overview pyramid was improved. Hints explain the metrics. This is essential for beginners, especially for the ratios of two metrics.
 +
 +  ​
 +
 +===== Separated Experimental Views =====
 +All Cultivate views are separated into the two categories "​Cultivate"​ and "​Cultivate (Experimental)"​. Views of the first category should run stable, have a nice look and feel and provide a help.
 +
 +|{{:​research:​cultivate:​cv-categories.png|}}|
 +^   ​Eclipse Show View Dialog ​           ^
 +
 +===== Package Dependency Diagram =====
 +
 +This version of Cultivate includes a new implementation of the package dependencies diagramm view, which is now completely based on the zest 2.0 framework. The visually improved diagram includes several new features.
 +  * Node and edge highlighting. Clicking on a package node figure highlights other accessed packages and related edges.
 +  * Zoom Feature. (Hold Ctrl and use the mouse wheel, or use a left-lick )
 +  * Improved layout algorithm and mouse moveable nodes.
 +
 +===== Metric and Smell Result View =====
 +The Metric and Smell Result view was rewritten from scratch. It now additionally features a filterable tree selection of metrics and smells and shows also partial results. ​
 +
 +===== Term Cloud View =====
 +The Term Cloud View was updated to use the new [[http://​wiki.eclipse.org/​Zest/​Cloudio|Cloudio]] feature from Zest 2.0. This improved the visualization of the cloud and the flexibility of the view, e.g. it now also allows scaling. ​
 +
 +|{{:​research:​cultivate:​termcloud-junit.framework.png?​500|}}|
 +^  The new Term Cloud View  ^
 +
 +
 +===== Generic Structure View =====
 +
 +As a new experimental view, Cultivate allows visualization of defined concept structures in form of a graph. It further allows to filter on node types. As this view is still experimental,​ only a small development set of structures is provided in Cultivate and no documentation is available.
 +
 +
 +|{{:​research:​cultivate:​iconstructure.png|}} |
 +^  Generic Structure View  ^
 +
 +===== Context-Sensitive Help Texts for Stable Diagram Views =====
 +With the focus on a Cultivate diagram view, one can open its corresponding help text simply by using the Eclipse help. A help text illuminates the purpose of its view and how to use its possible features.
 +
 +===== Generic Table View =====
 +The Generic Table View allows the developer to query arbitrary Prolog predicates directly. The results are displayed as a sorted table which can be exported for further reference in various formats e.g. CSV with semicolon separated data. The query results will update automatically with every change of the java code with no need for the developer to initialize a new query.
 +
 +|{{:​research:​cultivate:​generic_table_view.png|}}|
 +^   The Generic Table View   ^
 +
 +===== Improved stability and update behavior =====
 +The stability was improved through an enhanced CultivateViewPart,​ providing change listening and prolog querying functionality. Also the initialization and updating of our internal prolog interface (aka Repository) was improved.
  

SEWiki, © 2019