Performance-Based Software Model Refactoring in Fuzzy Contexts
The detection of causes of performance problems in software systems and the identification of refactoring actions that can remove the problems are complex activities (even in small/medium scale systems). It has been demonstrated that software models can nicely support these activities, especially because they enable the introduction of automation in the detection and refactoring steps. In our recent work we have focused on performance antipattern-based detection and refactoring of software models. However performance antipatterns suffer from the numerous thresholds that occur in their representations and whose binding has to be performed before the detection starts (as for many pattern/antipattern categories).
In this paper we introduce an approach that aims at overcoming this limitation. We work in a fuzzy context where threshold values cannot be determined, but only their lower and upper bounds do. On this basis, the detection task produces a list of performance antipatterns along with their probabilities to occur in the model. Several refactoring alternatives can be available to remove each performance antipattern. Our approach associates an estimate of how effective each alternative can be in terms of performance benefits. We demonstrate that the joint analysis of antipattern probability and refactoring benefits drives the designers to identify the alternatives that heavily improve the software performance.
KeywordsSoftware Performance Model Refactoring Performance Antipatterns
Unable to display preview. Download preview PDF.
- 2.Woodside, C.M., Franks, G., Petriu, D.C.: The Future of Software Performance Engineering. In: Briand, L.C., Wolf, A.L. (eds.) FOSE, pp. 171–187 (2007)Google Scholar
- 3.Cortellessa, V., Marco, A.D., Inverardi, P.: Model-Based Software Performance Analysis, pp. 1–190. Springer (2011)Google Scholar
- 4.Lazowska, E., Kahorjan, J., Graham, G.S., Sevcik, K.: Quantitative System Performance: Computer System Analysis Using Queueing Network Models. Prentice-Hall, Inc. (1984)Google Scholar
- 6.Martens, A., Koziolek, H., Becker, S., Reussner, R.: Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. In: ICPE, pp. 105–116 (2010)Google Scholar
- 7.Cortellessa, V., Di Marco, A., Eramo, R., Pierantonio, A., Trubiani, C.: Digging into UML models to remove performance antipatterns. In: ICSE Workshop Quovadis, pp. 9–16 (2010)Google Scholar
- 8.Trubiani, C., Koziolek, A.: Detection and solution of software performance antipatterns in palladio architectural models. In: International Conference on Performance Engineering (ICPE), pp. 19–30 (2011)Google Scholar
- 9.Arcelli, D., Cortellessa, V., Trubiani, C.: Antipattern-based model refactoring for software performance improvement. In: ACM SIGSOFT International Conference on Quality of Software Architectures (QoSA), pp. 33–42 (2012)Google Scholar
- 10.Cortellessa, V., De Sanctis, M., Di Marco, A., Trubiani, C.: Enabling Performance Antipatterns to arise from an ADL-based Software Architecture. In: Joint Conference on Software Architecture and European Conference on Software Architecture, WICSA/ECSA (2012)Google Scholar
- 11.Smith, C.U., Williams, L.G.: More New Software Antipatterns: Even More Ways to Shoot Yourself in the Foot. In: International Computer Measurement Group Conference, pp. 717–725 (2003)Google Scholar
- 12.Arcelli, D., Cortellessa, V., Trubiani, C.: Experimenting the influence of numerical thresholds on model-based detection and refactoring of performance antipatterns. ECEASST 59 (2013)Google Scholar
- 15.Cortellessa, V., Di Marco, A., Eramo, R., Pierantonio, A., Trubiani, C.: Approaching the Model-Driven Generation of Feedback to Remove Software Performance Flaws. In: EUROMICRO-SEAA, pp. 162–169. IEEE Computer Society (2009)Google Scholar
- 19.Casale, G., Serazzi, G.: Quantitative system evaluation with Java modeling tools. In: International Conference Performance Engineering, pp. 449–454. ACM (2011)Google Scholar
- 20.Frakes, W.B., Baeza-Yates, R.: Information retrieval: data structures and algorithms. Prentice-Hall, Inc., Upper Saddle River (1992)Google Scholar