Impact of Architectural Smells on Software Performance: an Exploratory Study

被引:1
作者
Fontana, Francesca Arcelli [1 ]
Camilli, Matteo [2 ]
Rendina, Davide [1 ]
Taraboi, Andrei Gabriel [1 ]
Trubiani, Catia [3 ]
机构
[1] Univ Milano Bicocca, Milan, Italy
[2] Politecn Milan, Milan, Italy
[3] Gran Sasso Sci Inst, Laquila, Italy
来源
27TH INTERNATIONAL CONFERENCE ON EVALUATION AND ASSESSMENT IN SOFTWARE ENGINEERING, EASE 2023 | 2023年
关键词
Software Architecture; Architectural Smells; Software Performance;
D O I
10.1145/3593434.3593442
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Architectural smells have been studied in the literature looking at several aspects, such as their impact on maintainability as a source of architectural debt, their correlations with code smells, and their evolution in the history of complex projects. The goal of this paper is to extend the study of architectural smells from a different perspective. We focus our attention on software performance, and we aim to quantify the impact of architectural smells as support to explain the root causes of system performance hindrances. Our method consists of a study design matching the occurrence of architectural smells with performance metrics. We exploit state-of-the-art tools for architectural smell detection, software performance profiling, and testing the systems under analysis. The removal of architectural smells generates new versions of systems from which we derive some observations on design changes improving/worsening performance metrics. Our experimentation considers two complex open-source projects, and results show that the detection and removal of two common types of architectural smells yield lower response time (up to 47%) with a large effect size, i.e., for 50%-90% of the hotspot methods. The median memory consumption is also lower (up to 20%) with a large effect size for all the services.
引用
收藏
页码:22 / 31
页数:10
相关论文
共 48 条
[1]   A Practical Guide for Using Statistical Tests to Assess Randomized Algorithms in Software Engineering [J].
Arcuri, Andrea ;
Briand, Lionel .
2011 33RD INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING (ICSE), 2011, :1-10
[2]   Scalability testing automation using multivariate characterization and detection of software performance antipatterns [J].
Avritzer, Alberto ;
Britto, Ricardo ;
Trubiani, Catia ;
Camilli, Matteo ;
Janes, Andrea ;
Russo, Barbara ;
Van Hoorn, Andre ;
Heinrich, Robert ;
Rapp, Martina ;
Henss, Joerg ;
Chalawadi, Ram Kishan .
JOURNAL OF SYSTEMS AND SOFTWARE, 2022, 193
[3]   Architectural Smells Detected by Tools: a Catalogue Proposal [J].
Azadi, Umberto ;
Fontana, Francesca Arcelli ;
Taibi, Davide .
2019 IEEE/ACM INTERNATIONAL CONFERENCE ON TECHNICAL DEBT (TECHDEBT 2019), 2019, :88-97
[4]   Actor-Driven Decomposition of Microservices through Multi-level Scalability Assessment [J].
Camilli, Matteo ;
Colarusso, Carmine ;
Russo, Barbara ;
Zimeo, Eugenio .
ACM TRANSACTIONS ON SOFTWARE ENGINEERING AND METHODOLOGY, 2023, 32 (05)
[5]   Automated test-based learning and verification of performance models for microservices systems [J].
Camilli, Matteo ;
Janes, Andrea ;
Russo, Barbara .
JOURNAL OF SYSTEMS AND SOFTWARE, 2022, 187
[6]   Modeling Performance of Microservices Systems with Growth Theory [J].
Camilli, Matteo ;
Russo, Barbara .
EMPIRICAL SOFTWARE ENGINEERING, 2022, 27 (02)
[7]   Architecture Smells and Pareto Principle: A Preliminary Empirical Exploration [J].
Chaniotaki, Alexandra-Maria ;
Sharma, Tushar .
2021 IEEE/ACM 18TH INTERNATIONAL CONFERENCE ON MINING SOFTWARE REPOSITORIES (MSR 2021), 2021, :190-194
[8]   Enhancing the analysis of software failures in cloud computing systems with deep learning [J].
Cotroneo, Domenico ;
De Simone, Luigi ;
Liguori, Pietro ;
Natella, Roberto .
JOURNAL OF SYSTEMS AND SOFTWARE, 2021, 181
[9]   Software Visualizations to Analyze Memory Consumption: A Literature Review [J].
Fernandez Blanco, Alison ;
Bergel, Alexandre ;
Sandoval Alcocer, Juan Pablo .
ACM COMPUTING SURVEYS, 2023, 55 (01)
[10]   Are architectural smells independent from code smells? An empirical study [J].
Fontana, Francesca Arcelli ;
Lenarduzzi, Valentina ;
Roveda, Riccardo ;
Taibi, Davide .
JOURNAL OF SYSTEMS AND SOFTWARE, 2019, 154 :139-156