A Microservice-based Platform for Software Technical Debt Analysis

Name
Octanty Mulianingtyas
Abstract
Technical debt (TD) is defined as developing a new feature by a poor code and design to fulfil a punctual release date that may provide shor-term advantage, but negatively impact the future. Reducing TD is crucial to improve the software quality and decrease the financial issue.
However, TD is cumbersome to calculate since every TD tool provided uses numerous metrics and models. This study aims to provide analysis about technical debt alternative measurements by developing a microservice-based platform on a set of large open-source projects. The result of the analysis is expected can be used as a reference for the researchers to arrange a proper formula to calculate TD. The microservice platform was selected since it has several benefits compared to monolithic applications. The benefits comprised simple deployment, fewer environment dependencies, and maintainability. We implemented three TD identification methods in the microservice platform: Maintainability Index (MI), SIG Maintainability, and Sqale.
Through 124 directory java projects run in the microservice platform, the statistical analysis results show no correlation among the three TD identification methods. The increasing value of the metrics of TotalOp, TotalOpr, CC, Duplication, UnitSize, and NumberParameters, WMC will decrease the ranking of result in each TD Identification method, and thus decrease the overall TD.
The scalability of the microservice is seen by the performance of the microservice by the total time for a query executed in the API. We used the load testing in the postman to see the total time. The API used for testing employed the aforementioned All TD Identification method. From the experiment, the time for a query executed for calculating 5 directories is 1m 40.38 s and it will continuously improve until 34m 20.70 s for 124 directories. We also tested the microservice platform for running in seven iterations. However, the number of iteration is not correlated with the time for a query executed. The time for a query executed is variated in every iteration and not increasing continuously as the increment of the number of iterations. Based on these facts, the microservice performance is only influenced by the number of directories upload instead of the number of iterations for executing.
Graduation Thesis language
English
Graduation Thesis type
Master - Software Engineering
Supervisor(s)
Ulrich Norbisrath, Bruno Rossi PhD
Defence year
2021
 
PDF