Bachelorarbeit BCLR-2019-70

Szidlovszky, Marcel: Evaluating the Effectiveness of Proposed Service-based Maintainability Metrics for Microservices.
Universität Stuttgart, Fakultät Informatik, Elektrotechnik und Informationstechnik, Bachelorarbeit Nr. 70 (2019).
64 Seiten, englisch.

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.

Volltext und
andere Links
Abteilung(en)Universität Stuttgart, Institut für Softwaretechnologie, Software Engineering
BetreuerWagner, Prof. Stefan; Bogner, Justus
Eingabedatum21. Januar 2020
   Publ. Informatik