-
Notifications
You must be signed in to change notification settings - Fork 3
Theia td reusability
A Theia extension for the calculation of TD principal, TD interest and reusability of the created services is provided. The repository of the theia extension is here. For the backend we have three different repositories created with the Springboot framework (TD Principal, TD Interest, Reusability)
For the TD Principal we offer two types of analysis, a project level and an endpoint. The analysis uses the SonarQube tool for the evaluation of the code quality, that includes support for a variety of programming languages. The tool finds the number of code inefficiencies and the required time in order to be resolved, and we can calculate as well, the amount of money needed to bring the project in an optimal state. As for the endpoint level analysis, the main difference is that for each endpoint we take into account only the parts of code used this, by knowing its call graph. From the Theia extension the user has to provide the git url of the project and he/she can select between a project and endpoint analysis. In the case of the second one, the user can provide one or more specific endpoint, or the extension provides a report for all the endpoints of the project.
For the TD Interest we offer only a project analysis but we can report the evolution of the Interest across the repositories commits. For the calculation of TD Interest we emphasise on maintainability, as a proxy to the amount of TD interest, and we use a selected number of metrics for our calculations. First, in order to find the five most similar files of each file, and second to find the difference of the metric’s values of each file with most similar and optimal one. Finally, we can get the interest in euros by multiplying with the change proneness of that file along with the payment of the developers per hour. From the Theia extension the user should provide only the git url and he/she can start an analysis and see the results in a chart across the commits or see the classes that need the most attention.
The reusability is calculated for the whole project and we use the generalized formula derived from the publication of Kakarontzas et al [75]. The exact formula is: FWBR = − 1 × (8.753 × log (CBO + 1) + 2.505 × log (DIT + 1) − 1.922 × log (WMC + 1) + 0.892 × log (RFC + 1) − 0.399 × log (LCOM + 1) − 1.080 × log (NOC + 1)) Where CBO, DIT, WMC, RFC, LCOM, and NOC are code metrics.