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
  • technical debt toolbox usage

technical debt toolbox usage · Changes

Page history
Technical-Debt Usage authored May 27, 2020 by Angeliki Tsintzira's avatar Angeliki Tsintzira
Hide whitespace changes
Inline Side-by-side
technical-debt-toolbox-usage.md
View page @ 8f283023
......@@ -206,3 +206,295 @@ The response includes TD in minutes, TD in currency, number of bugs, number of v
|:------------:|:---------------------------------------------------------------:|:--------:|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:| :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
| projectID | The name of the project. The name should be the same as the name that given through the analysis phase. | Yes | String |
| language | The programming language of the software project that needs to be analyzed. | Yes | String | Accepted strings are: java and c. For c++ projects use c.
**Interest Summary**
Interest summary includes interest metrics at project level.
**Sample Request**
In this example, we want to retrieve pre analysed data in project level for the project with ID ‘Neurasmus’ and language ‘c’. The metrics are the same for Java projects.
{GET} http://195.251.210.147:7070/interestSummary/search?projectID=Neurasmus&language=c
Headers: -
Authorization: -
**Response**
The response includes interest metrics in project level. These metrics are: interest and principal in currency, breaking point, and interest probability.
```
{ 
   "interestSummary":{ 
      "name":"Neurasmus",
      "totalInterest":42.90899808743728,
      "totalPrincipal":4808.523,
      "breakingPoint":112.06327843408256,
      "interestProbability":0.11447368421052631
   }
}
```
**Interest Indicators**
Interest indicators includes interest metrics at artefact level.
**Sample Request**
In this example, we want to retrieve pre analysed data in artefact level for the project with ID ‘Neurasmus’ and language ‘c’. The metrics are NOT the same for Java projects.
{GET} http://195.251.210.147:7070/interestIndicators/search?projectID=Neurasmus&language=c
Headers: -
Authorization: -
**Response**
The response format is like a table (columns, rows). The response includes interest metrics for C/C++ language. These metrics are: interest, interest probability, lines of code, cyclomatic complexity, number of functions, comments density, fan-out and lack of cohesion between lines. The metrics are NOT the same for Java projects. Java language is treated as OOP language so the metrics are different. The response format is the same just with different metrics. The metrics for Java are: interest, interest probability, MPC, DIT, NOCC, RFC, LCOM, WMC, DAC, NOM, LOC, NOP, REM and CPM. For an explanation of each metric please check D3.1.
```
{ 
   "interestIndicators":{ 
      "columns":[ 
         { 
            "label":"Artifact",
            "field":"name"
         },
         { 
            "label":"Interest",
            "field":"Interest"
         },
         {
            "label":"Interest Probability",
            "field":"IP"
         },
         { 
            "label":"Lines of Code",
            "field":"LOC"
         },
         { 
            "label":"Cyclomatic Complexity",
            "field":"CC"
         },
         { 
            "label":"Number of Functions",
            "field":"NoF"
         },
         { 
            "label":"Comments Density",
            "field":"CD"
         },
{ 
            “label":"Fan-Out",
            "field":"Coupling"
         },
{ 
            “label":"Lack of Cohesion between Lines",
            "field":"Cohesion"
         }
      ],
      "rows":[ 
         { 
            "name":"imd-emulator/api.cpp",
            "LOC":93,
            "CC":15,
            "NoF":11,
            "CD":11.4,
            "IP":0,
            “Interest”:0,
“Coupling":1,
"Cohesion":58
         }   
]
   }
}
```
**Interest Probability Ranking**
Interest probability ranking is the ranking for a specific project among the other projects in terms of interest probability.
**Sample Request**
In this example, we want to retrieve interest probability ranking for the project with ID ‘Neurasmus’ and language ‘c’. Same output for java projects.
{GET} http://195.251.210.147:7070/interestProbabilityRanking/search?projectID=Neurasmus&language=c
Headers: -
Authorization: -
**Response**
The response is a value between 0 and 1. The interest probability for this project among the others is 88%.
```
{
   "interestProbabilityRank":0.8888888888888888
}
```
**Interest Ranking**
Interest ranking is the ranking for a specific project among the other projects in terms of interest.
**Sample Request**
In this example, we want to retrieve interest ranking for the project with ID ‘Neurasmus’ and language ‘c’. Same output for java projects.
{GET} http://195.251.210.147:7070/interestRanking/search?projectID=Neurasmus&language=c
Headers: -
Authorization: -
**Response**
The response is a value between 0 and 1. The interest for this project among the others is 55%.
```
{
   “interestRank":0.5555555555555556
}
```
**Interest Line Chart**
Interest at project level for each version.
**Sample Request**
In this example, we want to retrieve interest per version for the project with ID ‘Neurasmus’ and language ‘c’. Same output for java projects.
{GET} http://195.251.210.147:7070/lineChartInterestTD/search?projectID=Neurasmus&language=c
Headers: -
Authorization: -
**Response**
The response includes the interest of the project for each version. For projectID = ‘Neurasmus’ there are 9 version, so the sample response has 9 rows.
```
{ 
   "lineChartInterestTD":{ 
      "values":[ 
         0,
         51.044956239316235,
         35.780203211501686,
         73.0571630280236,
         66.29283265492943,
         81.88532319924747,
         69.39658459607544,
         69.47329963903428,
         42.90899808743728
      ]
   }
}
```
**Principal Line Chart**
Principal at project level for each version.
**Sample Request**
In this example, we want to retrieve principal per version for the project with ID ‘Neurasmus’ and language ‘c’. Same output for java projects.
{GET} http://195.251.210.147:7070/lineChartPrincipalTD/search?projectID=Neurasmus&language=c
Headers: -
Authorization: -
**Response**
The response includes the principal of the project for each version. For projectID = ‘Neurasmus’ there are 9 version, so the sample response has 9 rows.
```
{ 
   "lineChartPrincipalTD":{ 
      "values":[ 
         1590.3705,
         1647.6330000000003,
         1685.8080000000002,
         3299.0834999999997,
         2863.1249999999995,
         3017.352,
         2953.2179999999994,
         3325.0425,
         4808.523
      ]
   }
}
```
**Breaking Point Line Chart**
Breaking Point at project level for each version.
**Sample Request**
In this example, we want to retrieve breaking point per version for the project with ID ‘Neurasmus’ and language ‘c’. Same output for java projects.
{GET} http://195.251.210.147:7070/lineChartBreakingPointTD/search?projectID=Neurasmus&language=c
Headers: -
Authorization: -
**Response**
The response includes the breaking point of the project for each version. For projectID = ‘Neurasmus’ there are 9 version, so the sample response has 9 rows.
```
{ 
   "lineChartBreakingPointTD":{ 
      "values":[ 
         null,
         32.27807645235961,
         47.11566309545415,
         45.15756379336168,
         43.18905808269308,
         36.848508158880044,
         42.55566779243213,
         47.860725160256976,
         112.06327843408256         
      ]
   }
}
```
**Cumulative Interest Line Chart**
Cumulative Interest at project level for each version.
**Sample Request**
In this example, we want to retrieve cumulative per version for the project with ID ‘Neurasmus’ and language ‘c’. Same output for java projects.
{GET} http://195.251.210.147:7070/cumulativeInterestLineChart/search?projectID=Neurasmus&language=c
Headers: -
Authorization: -
**Response**
The response includes the cumulative interest of the project for each version. For projectID = ‘Neurasmus’ there are 9 version, so the sample response has 9 rows.
```
{ 
   "cumulativeInterestLineChart":{ 
      "values":[ 
         0,
         51.044956239316235,
         86.82515945081792,
         159.8823224788415,
         226.17515513377094,
         308.0604783330184,
         377.45706292909387,
         446.93036256812815,
         489.83936065556543
      ]
   }
}
```
## Design-Level Refactorings Service
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