Evaluating microservices maintainability: a classification system using code metrics and ISO/IEC 250xy standards
Evaluating microservices maintainability: a classification system using code metrics and ISO/IEC 250xy standards
Dosyalar
Tarih
2024
Yazarlar
Özdemir, Oğuzcan
Buzluca, Feza
Süreli Yayın başlığı
Süreli Yayın ISSN
Cilt Başlığı
Yayınevi
ACM
Özet
In the rapidly evolving landscape of software engineering, Microservice Architecture (MSA) has emerged as a pivotal approach, renowned for its modular structure, operational efficiency, scalability, and flexibility. Despite the extensive research on MSA development, and numerous studies dedicated to evaluating the maintainability of object-oriented programs, the focus on the quality of microservice-based systems remains notably limited. This study introduces an innovative model for evaluating the maintainability of microservices, a key element in MSA. Our approach, grounded in code metrics analysis, aligns with the ISO/IEC 250xy standards SQuaRE (System and Software Quality Requirements and Evaluation). It specifically targets testability and modifiability, integral components of maintainability. We carefully chose essential code metrics that precisely encapsulate the varied characteristics of MSA. The model employs clustering algorithms to categorize the quality characteristics of MSA into three distinct groups: low, medium and high. Our project’s primary goal is to identify microservices with low maintainability values. Our methodology was applied to a range of open-source MSA-designed applications, demonstrating its effectiveness and yielding promising outcomes. In our results, we achieved a recall of 83.33% and a precision of 71.43%. This research contributes a novel viewpoint in assessing microservice maintainability and offers a valuable resource for software architects and developers. It aims to improve the overall quality and longevity of software systems within the MSA.
Açıklama
Anahtar kelimeler
microservice architecture,
software maintenance tools,
software notations and tools