Performance-Based Software Model Refactoring in Fuzzy Contexts

  • Davide ArcelliEmail author
  • Vittorio Cortellessa
  • Catia Trubiani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9033)


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.


Software Performance Model Refactoring Performance Antipatterns 


  1. 1.
    Smith, C.U.: Introduction to software performance engineering: Origins and outstanding problems. In: Bernardo, M., Hillston, J. (eds.) SFM 2007. LNCS, vol. 4486, pp. 395–428. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  2. 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. 3.
    Cortellessa, V., Marco, A.D., Inverardi, P.: Model-Based Software Performance Analysis, pp. 1–190. Springer (2011)Google Scholar
  4. 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
  5. 5.
    Xu, J.: Rule-based automatic software performance diagnosis and improvement. Perform. Eval. 69, 525–550 (2012)CrossRefGoogle Scholar
  6. 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. 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. 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. 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. 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. 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. 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
  13. 13.
    Parsons, T., Murphy, J.: Detecting Performance Antipatterns in Component Based Enterprise Systems. Journal of Object Technology 7, 55–91 (2008)CrossRefGoogle Scholar
  14. 14.
    Diaz-Pace, A., Kim, H., Bass, L., Bianco, P., Bachmann, F.: Integrating quality-attribute reasoning frameworks in the arche design assistant. In: Becker, S., Plasil, F., Reussner, R. (eds.) QoSA 2008. LNCS, vol. 5281, pp. 171–188. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  15. 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
  16. 16.
    Trubiani, C., Koziolek, A., Cortellessa, V., Reussner, R.: Guilt-based handling of software performance antipatterns in palladio architectural models. Journal of Systems and Software 95, 141–165 (2014)CrossRefGoogle Scholar
  17. 17.
    Cortellessa, V., Di Marco, A., Trubiani, C.: An approach for modeling and detecting software performance antipatterns based on first-order logics. Software and System Modeling 13, 391–432 (2014)CrossRefGoogle Scholar
  18. 18.
    Cortellessa, V., Mirandola, R.: PRIMA-UML: a performance validation incremental methodology on early UML diagrams. Sci. Comput. Program. 44, 101–129 (2002)CrossRefzbMATHGoogle Scholar
  19. 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. 20.
    Frakes, W.B., Baeza-Yates, R.: Information retrieval: data structures and algorithms. Prentice-Hall, Inc., Upper Saddle River (1992)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2015

Authors and Affiliations

  • Davide Arcelli
    • 1
    Email author
  • Vittorio Cortellessa
    • 1
  • Catia Trubiani
    • 2
  1. 1.Università degli Studi dell’AquilaL’AquilaItaly
  2. 2.Gran Sasso Science InstituteL’AquilaItaly

Personalised recommendations