Abstract
Evaluating the performance characteristics of software architectures is not trivial since many factors, such as workload fluctuations and service failures, contribute to large variations. To reduce the impact of these factors, architectures are refactored so that their design becomes more robust and less prone to performance violations. This paper proposes an approach for visualizing the impact, from a performance perspective, of different performance-based architectural refactorings that are inherited by the specification of performance antipatterns. A case study including 64 performance-based architectural refactorings is adopted to illustrate how the visual representation supports software architects in the evaluation of different architecture design alternatives.
This work has been partially supported by the MIUR PRIN project SEDUCE 2017TWRCNB and the Baden-Württemberg Stiftung.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
References
Aleti, A., et al.: Software architecture optimization methods: a systematic literature review. IEEE Trans. Softw. Eng. 39(5), 658–683 (2013)
Aleti, A., et al.: An efficient method for uncertainty propagation in robust software performance estimation. J. Syst. Softw. 138, 222–235 (2018)
Beck, F., et al.: Visualizing systems and software performance - report on the GI-Dagstuhl seminar (2018). https://peerj.com/preprints/27253/
Berrevoets, R., Weyns, D.: A QoS-aware adaptive mobility handling approach for LoRa-based IoT systems. In: SASO, pp. 130–139 (2018)
Busch, A., Fuchß, D., Eckert, M., Koziolek, A.: Assessing the quality impact of features in component-based software architectures. In: Bures, T., Duchien, L., Inverardi, P. (eds.) ECSA 2019. LNCS, vol. 11681, pp. 211–219. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-29983-5_14
Calinescu, R., et al.: Designing robust software systems through parametric Markov chain synthesis. In: ICSA, pp. 131–140 (2017)
Cámara, J., Garlan, D., Schmerl, B.: Synthesis and quantitative verification of tradeoff spaces for families of software systems. In: Lopes, A., de Lemos, R. (eds.) ECSA 2017. LNCS, vol. 10475, pp. 3–21. Springer, Cham (2017). https://doi.org/10.1007/978-3-319-65831-5_1
Das, O., Woodside, C.M.: Analyzing the effectiveness of fault-management architectures in layered distributed systems. Perform. Eval. 56(1–4), 93–120 (2004)
Esfahani, N., et al.: GuideArch: guiding the exploration of architectural solution space under uncertainty. In: ICSE, pp. 43–52 (2013)
Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional, Boston (2018)
Franks, G., et al.: Enhanced modeling and solution of layered queueing networks. IEEE Trans. Softw. Eng. 35(2), 148–161 (2009)
Furmanova, K., et al.: Taggle: combining overview and details in tabular data visualizations. Inf. Vis. 19(2), 114–136 (2020)
Goodwin, S., et al.: What do constraint programming users want to see? Exploring the role of visualisation in profiling of models and search. IEEE Trans. Vis. Comput. Graph. 23(1), 281–290 (2017)
Incerto, E., et al.: Software performance self-adaptation through efficient model predictive control. In: ASE, pp. 485–496 (2017)
Isaacs, K.E., et al.: State of the art of performance visualization. In: EuroVis - STARs. The Eurographics Association (2014)
Jamshidi, P., et al.: Transfer learning for performance modeling of configurable systems: an exploratory analysis. In: ASE, pp. 497–508 (2017)
Jamshidi, P., Casale, G.: An uncertainty-aware approach to optimal configuration of stream processing systems. In: MASCOTS, pp. 39–48 (2016)
Mahdavi-Hezavehi, S., et al.: A systematic literature review on methods that handle multiple quality attributes in architecture-based self-adaptive systems. Inf. Softw. Technol. 90, 1–26 (2017)
Okanovic, D., et al.: Concern-driven reporting of software performance analysis results. In: ICPE, pp. 1–4. ACM (2019)
Shneiderman, B.: The eyes have it: a task by data type taxonomy for information visualizations. In: Symposium on Visual Languages, pp. 336–343 (1996)
Smith, C.U.: Software performance antipatterns in cyber-physical systems. In: ICPE, pp. 173–180 (2020)
Smith, C.U., Williams, L.G.: Software performance antipatterns for identifying and correcting performance problems. In: CMG, pp. 717–725 (2012)
Trubiani, C., et al.: Artifacts. https://doi.org/10.5281/zenodo.3936656
Trubiani, C., et al.: Exploring synergies between bottleneck analysis and performance antipatterns. In: ICPE, pp. 75–86 (2014)
Tufte, E.: Envisioning Information. Graphics Press, Cheshire (1990)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this paper
Cite this paper
Trubiani, C., Aleti, A., Goodwin, S., Jamshidi, P., van Hoorn, A., Gratzl, S. (2020). VisArch: Visualisation of Performance-based Architectural Refactorings. In: Jansen, A., Malavolta, I., Muccini, H., Ozkaya, I., Zimmermann, O. (eds) Software Architecture. ECSA 2020. Lecture Notes in Computer Science(), vol 12292. Springer, Cham. https://doi.org/10.1007/978-3-030-58923-3_12
Download citation
DOI: https://doi.org/10.1007/978-3-030-58923-3_12
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-58922-6
Online ISBN: 978-3-030-58923-3
eBook Packages: Computer ScienceComputer Science (R0)