Skip to content
GitLab
    • Explore Projects Groups Snippets
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
  • tutorial

tutorial · Changes

Page history
Update tutorial authored 4 years ago by Ilias's avatar Ilias
Hide whitespace changes
Inline Side-by-side
Showing
with 15 additions and 6 deletions
+15 -6
tutorial.md
View page @ b07d3342
......@@ -55,11 +55,20 @@ Some toolboxes of the SDK4ED Platform impose some additional limitations and pre
language = Java
```
1. *dir* is the name root directory of the project
2. *exec* corresponds to the command that executes the application. It is worth mentioning that for performing dynamic analysis, the Energy Toolbox needs to execute the application. Furthermore, when the user wants to analyse a project dynamically in order to have more accurate results, care must be taken that the application is terminated and not run indefinitely.
3. *source* is the path to the source files that the user wants to analyse separated by commas.
4. *include_dirs* is optional and contains the paths to directories that have to be included in order to compile the source files separately (needed for static analysis)
2. *exec* corresponds to the command that executes the application. It is worth
mentioning that for performing dynamic analysis, the Energy Toolbox needs to
execute the application. Furthermore, when the user wants to analyse a project
dynamically in order to have more accurate results, care must be taken that the
application is terminated and not run indefinitely.
3. *source* is the path to the source files that the user wants to analyse
separated by commas.
4. *include_dirs* is optional and contains the paths to directories that have to
be included in order to compile the source files separately (needed for static
analysis)
5. *build* includes the compiling and building commands.
6. *Finally*, language is “Java” or “C/C++” for specifying the project’s programming language.
6. *Finally*, language is “Java” or “C/C++” for specifying the project’s
programming language.<br/><br/><br/>
- <ins>C/C++ Projects:</ins> For C/C++ the building commands (either gcc commands or make) have to use gcc compiler with the -g debugging flag. All the paths to directories needed have also to be included using the -I flag. The static analysis can provide results without executing the project but the dynamic part (Hotspots identification, indicators monitoring, Acceleration estimation, optimizations suggestion) needs the project to be executed.
- <ins>Java Projects:</ins> Single jar executables have to be provided in exec parameter. The dynamic analysis requires the execution of the project.
- Forecasting Toolbox:
......@@ -85,7 +94,7 @@ The user needs to create a new project in order to define the characteristics of
![create_new_project](uploads/0333b21e23aff4e23c27cf33127b1df7/create_new_project.png)
A pop-up window will be displayed to their screen, allowing them to define the details of the selected project (see Figure below). As can be seen by Figure 5, the user should define:
A pop-up window will be displayed to their screen, allowing them to define the details of the selected project (see Figure below). As can be seen by the figure below, the user should define:
- The accessibility of their project within the SDK4ED Platform (i.e., Public or Private)
- The name of the project, which should be identical to the Git project name
- The Git URL of the online repository (i.e., Git URL)
......@@ -158,7 +167,7 @@ Similarly, the user can navigate to other pages in order to inspect the produced
|Energy|Energy|• Energy Consumption Estimation sub-panel: It is part of the Consumption Analysis sub-component. It provides fast results making Energy Consumption and Execution Time predictions about running an application on different platforms based on static analysis. <br/>• Energy indicators monitoring and hotspots identification sub-panel: Energy Consumption indicators (CPU cycles, Data races, Memory accesses, Ratio of branch misses, Cache miss rate, D cache misses) are presented by the Toolbox, in order to characterize the application in terms of Energy Consumption and to assist developers on identifying the individual characteristics of the application that consume more Energy. The Energy Hotspots are also identified: the blocks of code that may consume more energy. <br/>• History Analysis: Presents the static analysis Energy and Time estimations for all the project commits that have been analysed using the Toolbox in the past, retrieving the information from the embedded database.<br/>• Android Analysis: The Energy Toolbox additional mechanism for supporting Android applications was described in a detailed manner in D6.4. This tool reports Android specific Energy indicators such as Memory Usage (bytes), CPU Load (percentage), CPU Frequency (Hertz), Context Switches (count), Test case duration (seconds), System calls (count), Total Energy (Milijoules).<br/>• Optimization Suggestions sub-panel: This panel proposes refactoring opportunities for each energy hotspot.<br/>• Acceleration Specific indicators: Presents the indicators that influence the accelerator decision foreach hotspot.|
|Refactorings|Code Refactorings|This panel provides a ranking of the refactorings that can be performed based on the Change proneness and the impact of the identified TD item|
| |Design Refactorings|The panels provided the suggested refactorings for 2 types of refactorings:<br/>• Move Class Refactorings<br/>• Extract Long Method|
| |Architecture Refactoring|This panel presents the results of the architectural smell detection of the selected project. The following information is shown:<br/>• An interactive plot with the number of smells (divided by type) detected in the versions analaysed.<br/>• The list of architecture smells affecting the system. For each smell one can inspect the current version, or previous versions of the same smell detected in the previous versions of the project.|
| |Architecture Refactoring|This panel presents the results of the architectural smell detection of the selected project. The following information is shown:<br/>• An interactive plot with the number of smells (divided by type) detected in the versions analysed.<br/>• The list of architecture smells affecting the system. For each smell one can inspect the current version, or previous versions of the same smell detected in the previous versions of the project.|
|Decision Support|Trade-off Manager|On this panel, the user can inspect and compare the several refactoring suggestions proposed by each of the analysis toolboxes. Then, based on her stated preferences (in pairwise comparison form) the user can retrieve a tailored ranking of the available options.<br/>Note that a guaranteed-to-be-consistent set of preferences is “Absolutely more important”, “Quite more important” and “Quite more important”.<br/>Lastly, via an indirect invocation of the Forecaster Toolbox, the user can use the bottom panel to decide with a future time horizon in mind (where the value of each refactoring is recomputed based on the expected evolution of each quality).|
| |Refactorings as financial investment|This panel provides information about the expected financial impact that the proposed refactorings may have, if the user decides to apply them. The estimations are derived through a cost-benefit analysis that is performed by the toolbox based on user feedback.|
|Forecasting|TD Forecast|This panel provides projections of the future evolution of the *TD Principal* of the analysed software.|
......
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

Menu

Explore Projects Groups Snippets