skip to main content
10.1145/2304696.2304704acmconferencesArticle/Chapter ViewAbstractPublication PagescomparchConference Proceedingsconference-collections
research-article

Antipattern-based model refactoring for software performance improvement

Published:25 June 2012Publication History

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.

References

  1. D. Arcelli. (in italian) Refactoring di modelli software orientato alla soluzione di performance antipatterns. Master's thesis, Università degli Studi dell'Aquila, http://www.di.univaq.it/cortelle/docs/Arcelli-MasterThesis.pdf,nolinebreak 2011.Google ScholarGoogle Scholar
  2. D. Arcelli, V. Cortellessa, and C. Trubiani. A repository of Source and Target Role Models for software performance antipatterns. Technical report, http://www.di.univaq.it/cortelle/docs/005-2011-report.pdf,nolinebreak 2011.Google ScholarGoogle Scholar
  3. W. J. Brown, R. C. Malveau, H. W. McCormick III, and T. J. Mowbray. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. 1998. Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. G. Casale and G. Serazzi. Quantitative system evaluation with java modeling tools. In ICPE, pages 449--454, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. A. Cicchetti, D. Di Ruscio, and A. Pierantonio. A Metamodel Independent Approach to Difference Representation. Journal of Object Technology, 6(9):165--185, 2007.Google ScholarGoogle ScholarCross RefCross Ref
  6. V. Cortellessa, A. Di Marco, R. Eramo, A. Pierantonio, and C. Trubiani. Approaching the model-driven generation of feedback to remove software performance flaws. In EUROMICRO-SEAA, pages 162--169, 2009. Google ScholarGoogle ScholarDigital LibraryDigital Library
  7. V. Cortellessa, A. Di Marco, R. Eramo, A. Pierantonio, and C. Trubiani. Digging into UML models to remove performance antipatterns. In ICSE Workshop Quovadis, pages 9--16, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  8. V. Cortellessa, A. Di Marco, and C. Trubiani. Performance antipatterns as logical predicates. In ICECCS, pages 146--156, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  9. V. Cortellessa, A. D. Marco, and P. Inverardi. Model-Based Software Performance Analysis. Springer, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  10. V. Cortellessa, A. Martens, R. Reussner, and C. Trubiani. A process to effectively identify "guilty" performance antipatterns. In Fundamental Approaches to Software Engineering (FASE), pages 368--382, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  11. V. Cortellessa and R. Mirandola. PRIMA-UML: a performance validation incremental methodology on early UML diagrams. Sci. Comput. Program., 44(1):101--129, 2002. Google ScholarGoogle ScholarDigital LibraryDigital Library
  12. B. Dudney, S. Asbury, J. K. Krozak, and K. Wittkopf. J2EE Antipatterns. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  13. A. Egyed, A. Demuth, A. Ghabi, R. E. Lopez-Herrejon, P. Mader, A. Nöhrer, and A. Reder. Fine-tuning model transformation: Change propagation in context of consistency, completeness, and human guidance. In International Conference on Theory and Practice of Model Transformations (ICMT), pages 1--14, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  14. R. B. France, S. Ghosh, E. Song, and D.-K. Kim. A Metamodeling Approach to Pattern-Based Model Refactoring. IEEE Software, 20(5):52--58, 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  15. R. B. France, D.-K. Kim, S. Ghosh, and E. Song. A UML-Based Pattern Specification Technique. IEEE Trans. Software Eng., 30(3):193--206, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  16. H. Harreld. NASA Delays Satellite Launch After Finding Bugs in Software Program, April 20, 1998.Google ScholarGoogle Scholar
  17. R. Jain. The art of computer systems performance analysis. In CMG Conference, pages 1233--1236, 1991.Google ScholarGoogle Scholar
  18. A. Koziolek, H. Koziolek, and R. Reussner. Peropteryx: automated application of tactics in multi-objective software architecture optimization. In QoSA/ISARCS, pages 33--42, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  19. P. A. Laplante and C. J. Neill. AntiPatterns: Identification, Refactoring and Management. 2005. Google ScholarGoogle ScholarDigital LibraryDigital Library
  20. T. Mens and T. Tourwé. A survey of software refactoring. IEEE Trans. Software Eng., 30(2):126--139, 2004. Google ScholarGoogle ScholarDigital LibraryDigital Library
  21. T. Parsons and J. Murphy. Detecting performance antipatterns in component based enterprise systems. Journal of Object Technology, 7(3):55--90, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  22. K. Ramachandran, K. Fathi, and B. Rao. Recent trends in systems performance monitoring & failure diagnosis. In IEEE International Conference on Industrial Engineering and Engineering Management (IEEM), pages 2193--2200, 2010.Google ScholarGoogle ScholarCross RefCross Ref
  23. J. E. Rivera and A. Vallecillo. Representing and Operating with Model Differences. In TOOLS, pages 141--160, 2008.Google ScholarGoogle ScholarCross RefCross Ref
  24. C. U. Smith and L. G. Williams. More new software antipatterns: Even more ways to shoot yourself in the foot. In CMG Conference, pages 717--725, 2003.Google ScholarGoogle Scholar
  25. Sun Microsystems, http://developer.java.sun.com/developer/restricted/ patterns/SessionFacade.html. Session Facade, 2001.Google ScholarGoogle Scholar
  26. B. Tate, M. Clark, B. Lee, and P. Linskey. Bitter EJB. 2003. Google ScholarGoogle ScholarDigital LibraryDigital Library
  27. C. Trubiani. A model-based framework for software performance feedback. In Workshops and Symposia at MODELS, pages 19--34, 2010. Google ScholarGoogle ScholarDigital LibraryDigital Library
  28. C. Trubiani and A. Koziolek. Detection and solution of software performance antipatterns in palladio architectural models. In ICPE, pages 19--30, 2011. Google ScholarGoogle ScholarDigital LibraryDigital Library
  29. C. M. Woodside, G. Franks, and D. C. Petriu. The future of software performance engineering. In Workshop on the Future of Software Engineering (FOSE), pages 171--187, 2007. Google ScholarGoogle ScholarDigital LibraryDigital Library
  30. J. Xu. Rule-based automatic software performance diagnosis and improvement. In Workshop on Software and Performance (WOSP), pages 1--12, 2008. Google ScholarGoogle ScholarDigital LibraryDigital Library

Index Terms

  1. Antipattern-based model refactoring for software performance improvement

      Recommendations

      Comments

      Login options

      Check if you have access through your login credentials or your institution to get full access on this article.

      Sign in
      • Published in

        cover image ACM Conferences
        QoSA '12: Proceedings of the 8th international ACM SIGSOFT conference on Quality of Software Architectures
        June 2012
        164 pages
        ISBN:9781450313469
        DOI:10.1145/2304696

        Copyright © 2012 ACM

        Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

        Publisher

        Association for Computing Machinery

        New York, NY, United States

        Publication History

        • Published: 25 June 2012

        Permissions

        Request permissions about this article.

        Request Permissions

        Check for updates

        Qualifiers

        • research-article

        Acceptance Rates

        Overall Acceptance Rate46of131submissions,35%

      PDF Format

      View or Download as a PDF file.

      PDF

      eReader

      View online with eReader.

      eReader