Advertisement

A Process to Effectively Identify “Guilty” Performance Antipatterns

  • Vittorio Cortellessa
  • Anne Martens
  • Ralf Reussner
  • Catia Trubiani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6013)

Abstract

The problem of interpreting the results of software performance analysis is very critical. Software developers expect feedbacks in terms of architectural design alternatives (e.g., split a software component in two components and re-deploy one of them), whereas the results of performance analysis are either pure numbers (e.g. mean values) or functions (e.g. probability distributions). Support to the interpretation of such results that helps to fill the gap between numbers/functions and software alternatives is still lacking. Performance antipatterns can play a key role in the search of performance problems and in the formulation of their solutions. In this paper we tackle the problem of identifying, among a set of detected performance antipatterns, the ones that are the real causes of problems (i.e. the “guilty” ones). To this goal we introduce a process to elaborate the performance analysis results and to score performance requirements, model entities and performance antipatterns. The cross observation of such scores allows to classify the level of guiltiness of each antipattern. An example modeled in Palladio is provided to demonstrate the validity of our approach by comparing the performance improvements obtained after removal of differently scored antipatterns.

Keywords

Software Performance Engineering Antipatterns Feedback Performance Analysis 

References

  1. 1.
    Balsamo, S., Di Marco, A., Inverardi, P., Simeoni, M.: Model-based Performance Prediction in Software Development: A Survey. IEEE TSE 30(5), 295–310 (2004)Google Scholar
  2. 2.
    Becker, S., Koziolek, H., Reussner, R.: The Palladio component model for model-driven performance prediction. Journal of Systems and Software 82, 3–22 (2009)CrossRefGoogle Scholar
  3. 3.
    Brown, W.J., Malveau, R.C., McCormick III, H.W., Mowbray, T.J.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. Wiley and Sons, Chichester (1998)Google Scholar
  4. 4.
    Cortellessa, V., Di Marco, A., Eramo, R., Pierantonio, A., Trubiani, C.: Approaching the model-driven generation of feedback to remove software performance flaws. In: 35th Euromicro Conference, pp. 162–169. IEEE Press, New York (2009)Google Scholar
  5. 5.
    Cortellessa, V., Di Marco, A., Trubiani, C.: Performance Antipatterns as Logical Predicates. In: 15th International Conference on Engineering of Complex Computer Systems. IEEE Press, New York (to appear, 2010)Google Scholar
  6. 6.
    Cortellessa, V., Frittella, L.: A Framework for Automated Generation of Architectural Feedback from Software Performance Analysis. In: Wolter, K. (ed.) EPEW 2007. LNCS, vol. 4748, pp. 171–185. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  7. 7.
    Díaz 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
  8. 8.
    Jain, R.: The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling. Wiley and Sons, Chichester (1991)zbMATHGoogle Scholar
  9. 9.
    Martens, A., Koziolek, H., Becker, S., Reussner, R.: Automatically improve software models for performance, reliability and cost using genetic algorithms. In: Joint WOSP/SIPEW International Conference. ACM Press, New York (to appear, 2010)Google Scholar
  10. 10.
    Parsons, T., Murphy, J.: Detecting Performance Antipatterns in Component Based Enterprise Systems. Journal of Object Technology 7(3), 55–90 (2008)Google Scholar
  11. 11.
    Smith, C.U., Williams, L.G.: More New Software Performance Antipatterns: Even More Ways to Shoot Yourself in the Foot. In: Computer Measurement Group Conference (2003)Google Scholar
  12. 12.
    Xu, J.: Rule-based Automatic Software Performance Diagnosis and Improvement. In: Workshop on Software Performance, pp. 1–12. ACM Press, New York (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Vittorio Cortellessa
    • 1
  • Anne Martens
    • 2
  • Ralf Reussner
    • 2
  • Catia Trubiani
    • 1
  1. 1.Università degli Studi dell’AquilaL’AquilaItaly
  2. 2.Karlsruhe Institute of TechnologyKarlsruheGermany

Personalised recommendations