Bachelor Thesis BCLR-2019-70

BibliographySzidlovszky, Marcel: Evaluating the Effectiveness of Proposed Service-based Maintainability Metrics for Microservices.
University of Stuttgart, Faculty of Computer Science, Electrical Engineering, and Information Technology, Bachelor Thesis No. 70 (2019).
64 pages, english.
Abstract

The maintenance of software systems is a critical process in development. Although the cost of maintenance is estimated to be 60-80\% of the software development life cycle, it is still common in development to neglect the maintainability and focus more on other components. This can be felt by the developers, who have to maintain the software for preventive, corrective, adaptive or perfective reasons. In order to be able to correctly plan complex maintenance, i.e. to estimate the cost and time involved, one must first determine how maintainable a software is. For this, static code and runtime data analyses can be used, which refer to software metrics. For conventional monolithic architectures, there is already a lot of literature that evaluates and proves the effectiveness of maintainability metrics. But since there has been a change from monolithic architectures to microservice architectures in recent years, especially for large enterprise systems and Software As A Service (SAAS), we have to adapt. World-renowned web services like Netflix and Amazon show us how successful this relatively new type of architecture can be. These systems follow the SAAS model and therefore have a constant maintenance process, where an effective maintainability measurement would be very advantageous. With this paper we want to fill the gap in literature and evaluate whether proposed service-based maintainability metrics can effectively be used for microservices. We will specifically investigate service-based metrics that have not yet been evaluated. In order to achieve this goal, we first created an up-to-date list of service-based maintainability metrics and compiled a set of example systems to evaluate the measurability and effectiveness of metrics. The effectiveness was determined by the measurability and the significance of the examined metrics. The significance was evaluated using the following evaluation methods: On the one hand, a correlation between metrics and experts was evaluated, based on the characteristics: size, coupling and cohesion. These were based on the example systems and examined for significant agreements. The second part of the evaluation includes a scenario-based analysis in which the relationship between metrics and theoretical reactions of architectures was qualitatively evaluated. It was analyzed whether they could predict the estimated effort and the differences, of the reactions, for the different architectures. The result of the evaluations shows that both the coupling metrics and the size metrics can be very effective in determining maintainability. However, no statement could be made about the cohesion metric examined, as it turned out that the example systems used for the evaluation were possibly unsuitable.

Full text and
other links
Volltext
Department(s)University of Stuttgart, Institute of Software Technology, Software Engineering
Superviser(s)Wagner, Prof. Stefan; Bogner, Justus
Entry dateJanuary 21, 2020
   Publ. Computer Science