Skip to content
GitLab
Projects Groups Snippets
  • /
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
  • W Wiki Home
  • Project information
    • Project information
    • Activity
    • Labels
    • Members
  • Issues 0
    • Issues 0
    • List
    • Boards
    • Service Desk
    • Milestones
  • Merge requests 0
    • Merge requests 0
  • CI/CD
    • CI/CD
    • Pipelines
    • Jobs
    • Schedules
  • Deployments
    • Deployments
    • Environments
  • Monitor
    • Monitor
    • Incidents
  • Analytics
    • Analytics
    • Value stream
  • Wiki
    • Wiki
  • Snippets
    • Snippets
  • Activity
  • Create a new issue
  • Jobs
  • Issue Boards
Collapse sidebar
  • SDK4ED WikiSDK4ED Wiki
  • Wiki Home
  • Wiki
  • Architectural Toolbox Description

Architectural Toolbox Description · Changes

Page history
Update Architectural Toolbox Description authored May 22, 2020 by Darius Sas's avatar Darius Sas
Hide whitespace changes
Inline Side-by-side
Architectural-Toolbox-Description.md
View page @ 132f70f9
......@@ -54,7 +54,24 @@ Besides affecting complexity, their presence also has an impact on compiling (ca
An architectural smell characteristic is a property or attribute of an architectural smell instance.
An architectural smell instance is a concrete occurrence of a type of architectural smell.
For each architectural smell type, one can measure different characteristics. We refer to the characteristics that can be measured for every type of smell as *smell-generic*, whereas we refer to the characteristics that can only be measured for certain types of smells as *smell-specific* characteristics.
The characteristics considered in our work are reported in Table
The characteristics considered in our work are:
* Smell Generic
* Age: The number of versions affected by the smell.
& Overlap Ratio & The ratio of the total number of components of a given smell that also take part in another smell
& Centrality & The importance of the components affected by the smell within the system. Measured using the PageRank of the components in the dependency graph. & \cite{Roveda2018b} \\
& Size & The number of elements of the system affected by the smell. & * \\
& Number of edges & The number of dependency edges among the components affected by the smell. & * \\ \midrule
\multicolumn{4}{c}{\itshape smell-specific}\\\midrule
\multirow{4}{0.1\linewidth}{CD} & Shape & The cycle shapes as shown in Figure \ref{fig:cycle-dep}. & \cite{Fontana2016,AlMutawa2014}\\
& Average edge weight & The number of dependencies (weight) between the components affected by the smell. It can be indicative of the difficulty of refactoring the cycle. & \cite{Fontana2017}\\
& Number of inheritance edges & The number of edges in the smell that represent an inheritance between components. & \cite{Laval2012} \\
& Affected design level & Whether the cycle is present only at architectural level (among packages) or also at design level (among classes) too. & \cite{AlMutawa2014} \\
& Parent centrality$^\dagger$ & The degree to which a package is at the centre of a cycle with its children sub-packages. & \cite{AlMutawa2014}\\ \midrule
\multirow{2}{0.1\linewidth}{UD} & Instability gap & The difference between the instability of the main component and the average instability of the dependencies less stable than the component itself. & \cite{Fontana2017} \\
& Strength (or DoUD \cite{Fontana2017}) & The ratio between the number of dependencies that point to less stable components and the total number of dependencies of the class. & \cite{Fontana2017} \\ \midrule
\multirow{3}{0.1\linewidth}{HL} & Average internal path length$^\dagger$ & Only computed on package HL. The average length of the paths between internal nodes with afferent dependencies and internal nodes with efferent dependencies within the central package. The shorter the length, the more the packages that depend upon the main component and packages that are depended upon by it are connected. & * \\
& Affected classes ratio$^\dagger$ & Only computed on package HL. The ratio between the number of classes taking part in a dependency relationship with afferent and efferent packages of the main component and the total number of classes in the main component.
\end{tabular}
# Tooling
\ No newline at end of file
Clone repository
  • Advanced
  • Architectural Toolbox Description
  • Architectural Toolbox Front End
  • Architectural Toolbox Home
  • Architectural Toolbox Installation
  • Architectural Toolbox Usage
  • Decision Support Toolbox Description
  • Decision Support Toolbox Front end
  • Decision Support Toolbox Installation
  • Decision Support Toolbox Usage
  • Decision Support Toolbox
  • Energy Toolbox Description
  • Energy Toolbox Front end
  • Energy Toolbox Installation
  • Energy Toolbox Usage
View All Pages