|
|
# SDK4ED Tutorial
|
|
|
|
|
|
The purpose of this document is to provide guidelines on how the SDK4ED Dashboard could be utilised for analysing a specific software project with the solutions (i.e., services) that are offered by the SDK4ED Platform. These guidelines are provided in the form of an interactive tutorial, using an actual open source software project as the basis of our analysis, with the goal to help the user quickly understand the main steps that should be followed in order to get a specific project analysed with the SDK4ED Platform.
|
|
|
|
|
|
## *Step-by-step Guide*
|
|
|
|
|
|
### Step 1: Preparation of the Software Project
|
|
|
|
|
|
Before connecting to the SDK4ED Dashboard, the user should prepare their software project that they would like to analyse appropriately, in order to be in the right form required by the SDK4ED Platform. In brief, the SDK4ED Platform imposes the following limitations:
|
|
|
|
|
|
1. The selected software project should be written in Java, C, or C++ programming language.The analysis of software projects that are written in mixed languages (e.g., Java and C/C++) is not supported.
|
|
|
2. The selected software project should be available on an online Git repository, such as GitHub, Gitlab, Bitbucket, etc.
|
|
|
3. The source code that should be analysed must be part of the master branch of the Git repository
|
|
|
|
|
|
Hence, initially the user should upload the source code of the software project that they would like to analyse on an online Git repository. The project could be defined either as public (i.e., open source) or private (i.e., closed source), since the SDK4ED Platform does not impose any limitation with respect to the visibility of the software project.
|
|
|
|
|
|
For the purposes of the present tutorial, we created a software project named *rodinia-project* and uploaded it on GitHub as an open source repository (see Figure below). This project contains a set of open source programs that are written in C and C++ programming languages, which have been retrieved from the popular [Rodinia Benchmark](https://ieeexplore.ieee.org/document/5306797). The GitHub URL of this repository is provided below:
|
|
|
|
|
|
https://github.com/siavvasm/rodinia-project
|
|
|
|
|
|
[2]: https://ieeexplore.ieee.org/document/5306797
|
|
|
|
|
|
![github_repo](uploads/089274e548e317264693861bbbf50b47/github_repo.png)
|
|
|
|
|
|
```
|
|
|
Toolbox-specific Limitations and Prerequisites: Some toolboxes of the SDK4ED Platform
|
|
|
impose some additional limitations and prerequisites in order for a software
|
|
|
project to be analysed with their features (i.e., services). These limitations
|
|
|
are listed below:
|
|
|
```
|
|
|
|
|
|
### Step 2: Connection to the SDK4ED Dashboard and Project Creation
|
|
|
|
|
|
|
|
|
After preparing the software project and uploading it on an online Git repository, the user should navigate to the SDK4ED Dashboard, which is located at the following URL:
|
|
|
|
|
|
http://160.40.52.130:3000/
|
|
|
|
|
|
After navigating to this URL, the user is presented with a *Log In* page (see Figure below). If the user connects for the first time to the SDK4ED Dashboard, they will need to register first, by selecting the *Register* option that is available under the *Login* Form. If the user already has an account, they need to provide their credentials, and click the *“Log In”* button.
|
|
|
|
|
|
![Log-in](uploads/eb5dea6cfdf485b579f2fc770f01518f/Log-in.png)
|
|
|
|
|
|
After logging in, the user is redirected to the *Home Page* of the *SDK4ED Dashboard* (see Figure below). In this web page the user is presented with a summary of the latest assessment results of the projects that he/she has analysed in the past. In case that the user connects for the first time, this page will be empty.
|
|
|
|
|
|
![Home_Page](uploads/6b9454b4711ed074cde6f8622747d3a9/Home_Page.png)
|
|
|
|
|
|
The user needs to create a new project in order to define the characteristics of the software project that they would like to analyse (in our example, the *rodinia-project*). For this purpose, the user should initially navigate to the *Projects* page and click on the *“New Project”* button (see Figure below).
|
|
|
|
|
|
![create_new_project](uploads/0333b21e23aff4e23c27cf33127b1df7/create_new_project.png)
|
|
|
|
|
|
|
|
|
|