Collecting service-based maintainability metrics from RESTful API descriptions: static analysis and threshold derivation
- While many maintainability metrics have been explicitly designed for service-based systems, tool-supported approaches to automatically collect these metrics are lacking. Especially in the context of microservices, decentralization and technological heterogeneity may pose challenges for static analysis. We therefore propose the modular and extensible RAMA approach (RESTful API Metric Analyzer) to calculate such metrics from machine-readable interface descriptions of RESTful services. We also provide prototypical tool support, the RAMA CLI, which currently parses the formats OpenAPI, RAML, and WADL and calculates 10 structural service-based metrics proposed in scientific literature. To make RAMA measurement results more actionable, we additionally designed a repeatable benchmark for quartile-based threshold ranges (green, yellow, orange, red). In an exemplary run, we derived thresholds for all RAMA CLI metrics from the interface descriptions of 1,737 publicly available RESTful APIs. Researchers and practitioners can use RAMA to evaluate the maintainability of RESTful services or to support the empirical evaluation of new service interface metrics.
Author of HS Reutlingen | Zimmermann, Alfred |
---|---|
DOI: | https://doi.org/10.1007/978-3-030-59155-7_16 |
ISBN: | 978-3-030-59155-7 |
Erschienen in: | Software architecture : 14th European Conference, ECSA 2020 Tracks and Workshops, L'Aquila, Italy, September 14–18, 2020, proceedings |
Publisher: | Springer |
Place of publication: | Cham |
Editor: | Henry Muccini, Paris Avgeriou, Barbora Buhnova, Javier Camara, Mauro Caporuscio, Mirco Franzago, Anne Koziolek, Patrizia Scandurra, Catia Trubiani, Danny Weyns, Uwe Zdun |
Document Type: | Conference proceeding |
Language: | English |
Publication year: | 2020 |
Tag: | API documentation; RESTful services; cohesion; complexity; maintainability; metrics; microservices; size; static analysis |
Page Number: | 13 |
First Page: | 215 |
Last Page: | 227 |
PPN: | Im Katalog der Hochschule Reutlingen ansehen |
DDC classes: | 004 Informatik |
Open access?: | Nein |
Licence (German): | In Copyright - Urheberrechtlich geschützt |