Internal Software Quality Evaluation of Self-adaptive Systems Using Metrics, Patterns, and Smells

2021 
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.
    • Correction
    • Source
    • Cite
    • Save
    • Machine Reading By IdeaReader
    33
    References
    0
    Citations
    NaN
    KQI
    []