Antipattern-based model refactoring for software performance improvement

  • Authors:
  • Davide Arcelli;Vittorio Cortellessa;Catia Trubiani

  • Affiliations:
  • Università degli Studi dell'Aquila, L'Aquila, Italy;Università degli Studi dell'Aquila, L'Aquila, Italy;Università degli Studi dell'Aquila, L'Aquila, Italy

  • Venue:
  • Proceedings of the 8th international ACM SIGSOFT conference on Quality of Software Architectures
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Identifying and removing the causes of poor performance in software systems are complex problems due to a variety of factors to take into account. Nowadays these problems are usually tackled after the software deployment only with human-based means, which frequently boil down to developer skills and previous experiences. Performance antipatterns can be used to cope with these problems since they capture typical design patterns that are known leading to performance problems, as well as refactoring actions that can be taken to remove them. The goal of this paper is to introduce an approach that allows the refactoring of architectural models, based on antipatterns, that aims at providing performance improvement. To this end, we use a Role-Based Modeling Language to represent: (i) antipattern problems as Source Role Models (SRMs), and (ii) antipattern solutions as Target Role Models (TRMs). Hence, SRM-TRM pairs represent new instruments in the hands of developers to achieve architectural model refactorings aimed at removing sources of performance problems. Model refactoring for antipattern removal can be in fact obtained by replacing an SRM with the corresponding TRM. This approach has been applied to a case study in the e-commerce domain, whose experimental results demonstrate its effectiveness.