TY - GEN
T1 - Internal Software Quality Evaluation of Self-adaptive Systems Using Metrics, Patterns, and Smells
AU - Raibulet, C.
AU - Fontana, F.A.
AU - Carettoni, S.
N1 - © 2021, Springer Nature Switzerland AG.
PY - 2021
Y1 - 2021
N2 - Quality has a key role in the functioning, maintenance, and longevity of software. To evaluate the software quality, different points of view and mechanisms may be adopted, e.g., quality attributes, runtime performances. In this paper, we are interested in the internal quality of self-adaptive systems (SAS). SAS are more complex than non-self-adaptive systems (NSAS) because they implement also the mechanisms to monitor the execution environment, to analyze the gathered data about the environment, to plan adaptation strategies and to execute necessary adaptations required by the current state of the system. The available evaluation approaches for SAS focus mainly on the runtime performances achieved through the self-adaptive mechanisms. We consider that also the internal quality of SAS is equally important for their evaluation as for any other software. Therefore, we analyze 20 SAS using 4 different quality evaluation mechanisms: software metrics, design patterns, code and architectural smells. To discuss the quality of SAS, in our analysis we have considered 20 NSAS as a quality reference. Hence, we compare the quality of SAS with the quality of NSAS, and discuss the possible reasons behind the identified quality issues.
AB - Quality has a key role in the functioning, maintenance, and longevity of software. To evaluate the software quality, different points of view and mechanisms may be adopted, e.g., quality attributes, runtime performances. In this paper, we are interested in the internal quality of self-adaptive systems (SAS). SAS are more complex than non-self-adaptive systems (NSAS) because they implement also the mechanisms to monitor the execution environment, to analyze the gathered data about the environment, to plan adaptation strategies and to execute necessary adaptations required by the current state of the system. The available evaluation approaches for SAS focus mainly on the runtime performances achieved through the self-adaptive mechanisms. We consider that also the internal quality of SAS is equally important for their evaluation as for any other software. Therefore, we analyze 20 SAS using 4 different quality evaluation mechanisms: software metrics, design patterns, code and architectural smells. To discuss the quality of SAS, in our analysis we have considered 20 NSAS as a quality reference. Hence, we compare the quality of SAS with the quality of NSAS, and discuss the possible reasons behind the identified quality issues.
UR - https://www.scopus.com/pages/publications/85103232322
UR - https://www.scopus.com/pages/publications/85103232322#tab=citedBy
U2 - 10.1007/978-3-030-70006-5_16
DO - 10.1007/978-3-030-70006-5_16
M3 - Conference contribution
SN - 9783030700058
T3 - Communications in Computer and Information Science
SP - 386
EP - 419
BT - Evaluation of Novel Approaches to Software Engineering
A2 - Ali, Raian
A2 - Kaindl, Hermann
A2 - Maciaszek, Leszek A.
A2 - Maciaszek, Leszek A.
PB - Springer Science and Business Media Deutschland GmbH
T2 - 15th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE 2020
Y2 - 5 May 2020 through 6 May 2020
ER -