Self-adaptive systems (SAS) detect environmental changes, prevent or react to them, and adjust their own configuration and behavior to ensure their quality. Understanding how SAS are designed and work/function, as well as their complexity and quality features, is necessary for their utilization, reuse, maintenance, and further evolution/development. A key role in understanding SAS is played by the analysis tools. Currently, there are no available tools developed specifically for SAS analysis, i.e., tools which focus on the adaptivity aspects including design and implementation features, or performance achievements. Therefore, the research question we address in this paper is: How to analyze/understand SAS and their adaptive features with available general-purpose tools?. Adaptivity can be analyzed (1) statically, starting from the source code, and generating higher abstraction related models concerning design and implementation solutions, and (2) dynamically, starting from software execution and focusing on the performances obtained due to the SAS adaptivity. In this paper, we perform static analysis of two SAS examples with the general purpose Understand tool. We use the Understand features to generate various graphs of the software architecture/structure, to analyze its complexity, and to compute various metrics. Furthermore, we propose metrics specific to self-adaptation. We compute these metrics using data gathered from Understand. The defined metrics are implemented as a plugin for Understand. We conclude that the Understand tool is suitable to perform static analysis on SAS. It may be also a candidate tool to be further extended and personalized to become also a SAS specific analysis tool.

Raibulet, C., Pugno, M. (2026). Exploring Static Analysis for Understanding Self-Adaptive Systems. In Software Architecture. ECSA 2025 Tracks and Workshops Limassol, Cyprus, September 15–19, 2025, Proceedings (pp.295-310). Springer Science and Business Media Deutschland GmbH [10.1007/978-3-032-04403-7_25].

Exploring Static Analysis for Understanding Self-Adaptive Systems

Raibulet C.
Primo
;
2026

Abstract

Self-adaptive systems (SAS) detect environmental changes, prevent or react to them, and adjust their own configuration and behavior to ensure their quality. Understanding how SAS are designed and work/function, as well as their complexity and quality features, is necessary for their utilization, reuse, maintenance, and further evolution/development. A key role in understanding SAS is played by the analysis tools. Currently, there are no available tools developed specifically for SAS analysis, i.e., tools which focus on the adaptivity aspects including design and implementation features, or performance achievements. Therefore, the research question we address in this paper is: How to analyze/understand SAS and their adaptive features with available general-purpose tools?. Adaptivity can be analyzed (1) statically, starting from the source code, and generating higher abstraction related models concerning design and implementation solutions, and (2) dynamically, starting from software execution and focusing on the performances obtained due to the SAS adaptivity. In this paper, we perform static analysis of two SAS examples with the general purpose Understand tool. We use the Understand features to generate various graphs of the software architecture/structure, to analyze its complexity, and to compute various metrics. Furthermore, we propose metrics specific to self-adaptation. We compute these metrics using data gathered from Understand. The defined metrics are implemented as a plugin for Understand. We conclude that the Understand tool is suitable to perform static analysis on SAS. It may be also a candidate tool to be further extended and personalized to become also a SAS specific analysis tool.
paper
Evaluation; SAS; Self-Adaptive System; Software Engineering; Understand Tool;
English
ECSA 2025 Tracks and Workshops - September 15–19, 2025
2025
Bianculli, D; Sartaj, H; Andrikopoulos, V; Pautasso, C; Mikkonen, T; Perez, J; Bureš, T; De Sanctis, M; Muccini, H; Navarro, E; Soliman, M; Zdun, U
Software Architecture. ECSA 2025 Tracks and Workshops Limassol, Cyprus, September 15–19, 2025, Proceedings
9783032044020
8-set-2025
2026
15982 LNCS
295
310
reserved
Raibulet, C., Pugno, M. (2026). Exploring Static Analysis for Understanding Self-Adaptive Systems. In Software Architecture. ECSA 2025 Tracks and Workshops Limassol, Cyprus, September 15–19, 2025, Proceedings (pp.295-310). Springer Science and Business Media Deutschland GmbH [10.1007/978-3-032-04403-7_25].
File in questo prodotto:
File Dimensione Formato  
Raibulet-2026-ECSA 2025-VoR.pdf

Solo gestori archivio

Tipologia di allegato: Publisher’s Version (Version of Record, VoR)
Licenza: Tutti i diritti riservati
Dimensione 5.27 MB
Formato Adobe PDF
5.27 MB Adobe PDF   Visualizza/Apri   Richiedi una copia

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/10281/570499
Citazioni
  • Scopus 0
  • ???jsp.display-item.citation.isi??? ND
Social impact