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.
- 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 Scholar
- 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 Scholar
- W. J. Brown, R. C. Malveau, H. W. McCormick III, and T. J. Mowbray. AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. 1998. Google ScholarDigital Library
- G. Casale and G. Serazzi. Quantitative system evaluation with java modeling tools. In ICPE, pages 449--454, 2011. Google ScholarDigital Library
- 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 ScholarCross Ref
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- V. Cortellessa, A. Di Marco, and C. Trubiani. Performance antipatterns as logical predicates. In ICECCS, pages 146--156, 2010. Google ScholarDigital Library
- V. Cortellessa, A. D. Marco, and P. Inverardi. Model-Based Software Performance Analysis. Springer, 2011. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- B. Dudney, S. Asbury, J. K. Krozak, and K. Wittkopf. J2EE Antipatterns. 2003. Google ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- 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 ScholarDigital Library
- H. Harreld. NASA Delays Satellite Launch After Finding Bugs in Software Program, April 20, 1998.Google Scholar
- R. Jain. The art of computer systems performance analysis. In CMG Conference, pages 1233--1236, 1991.Google Scholar
- 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 ScholarDigital Library
- P. A. Laplante and C. J. Neill. AntiPatterns: Identification, Refactoring and Management. 2005. Google ScholarDigital Library
- T. Mens and T. Tourwé. A survey of software refactoring. IEEE Trans. Software Eng., 30(2):126--139, 2004. Google ScholarDigital Library
- T. Parsons and J. Murphy. Detecting performance antipatterns in component based enterprise systems. Journal of Object Technology, 7(3):55--90, 2008.Google ScholarCross Ref
- 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 ScholarCross Ref
- J. E. Rivera and A. Vallecillo. Representing and Operating with Model Differences. In TOOLS, pages 141--160, 2008.Google ScholarCross Ref
- 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 Scholar
- Sun Microsystems, http://developer.java.sun.com/developer/restricted/ patterns/SessionFacade.html. Session Facade, 2001.Google Scholar
- B. Tate, M. Clark, B. Lee, and P. Linskey. Bitter EJB. 2003. Google ScholarDigital Library
- C. Trubiani. A model-based framework for software performance feedback. In Workshops and Symposia at MODELS, pages 19--34, 2010. Google ScholarDigital Library
- C. Trubiani and A. Koziolek. Detection and solution of software performance antipatterns in palladio architectural models. In ICPE, pages 19--30, 2011. Google ScholarDigital Library
- 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 ScholarDigital Library
- J. Xu. Rule-based automatic software performance diagnosis and improvement. In Workshop on Software and Performance (WOSP), pages 1--12, 2008. Google ScholarDigital Library
Index Terms
- Antipattern-based model refactoring for software performance improvement
Recommendations
Software Model Refactoring Driven by Performance Antipattern Detection
The satisfaction of ever more stringent performance requirements is one of the main reasons for software evolution. However, determining the primary causes of performance degradation is generally challenging, as they may depend on the joint combination ...
Software Performance Antipatterns in Cyber-Physical Systems
ICPE '20: Proceedings of the ACM/SPEC International Conference on Performance EngineeringSoftware performance antipatterns (SPAs) document common performance problems in software architecture and design and how to fix them. They differ from software antipatterns in their focus on the performance of the software. This paper addresses ...
Automated translation among EPSILON languages for performance-driven UML software model refactoring
IWoR 2016: Proceedings of the 1st International Workshop on Software RefactoringAlthough performance represents a crucial non-functional attribute of software, few model-based approaches have been introduced up today for reducing the gap between performance analysis results (e.g., mean response time) and the feedback expected by ...
Comments