Skip to main content
Log in

An approach for modeling and detecting software performance antipatterns based on first-order logics

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

The problem of interpreting the results of performance analysis is quite critical in the software performance domain. Mean values, variances and probability distributions are hard to interpret for providing feedback to software architects. Instead, what architects expect are solutions to performance problems, possibly in the form of architectural alternatives (e.g. split a software component in two components and re-deploy one of them). In a software performance engineering process, the path from analysis results to software design or implementation alternatives is still based on the skills and experience of analysts. In this paper, we propose an approach for the generation of feedback based on performance antipatterns. In particular, we focus on the representation and detection of antipatterns. To this goal, we model performance antipatterns as logical predicates and we build an engine, based on such predicates, aimed at detecting performance antipatterns in an XML representation of the software system. Finally, we show the approach at work on a case study.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Document Object Model (DOM) (2000) Java API for XML Processing, Package org.w3c.dom. http://download.oracle.com/javase/1.4.2/docs/api/org/w3c/dom/package-summary.html

  2. Jess, the Rule Engine for the Java Platform (2007). http://www.jessrules.com/jess/index.shtml

  3. UML 2.0 Superstructure Specification, OMG document formal/05-07-04, Object Management Group, Inc. (2005). http://www.omg.org/cgi-bin/doc?formal/05-07-04

  4. UML Profile for MARTE, OMG document formal/09-11-02, Object Management Group, Inc. (2009). http://www.omg.org/spec/MARTE/1.0/PDF/

  5. Balsamo S., Di Marco A., Inverardi P., Simeoni M.: Model-based performance prediction in software development: a survey. IEEE Trans. Softw. Eng. 30(5), 295–310 (2004)

    Article  Google Scholar 

  6. Banks J., Nelson B.L., Nicol D.M.: Discrete-Event System Simulation. Prentice Hall, Englewood Cliffs (1999)

    Google Scholar 

  7. Bernardi, S., Donatelli, S., Merseguer, J.: From uml sequence diagrams and statecharts to analysable petrinet models. In: WOSP, pp. 35–45 (2002)

  8. Boroday, S., Petrenko, A., Singh, J., Hallal, H.: Dynamic analysis of java applications for multithreaded antipatterns. In: Workshop on Dynamic Analysis (WODA), pp. 1–7 (2005)

  9. Brown W.J., Malveau R.C., McCormick H.W. III, Mowbray T.J.: AntiPatterns: Refactoring Software, Architectures, and Projects in Crisis. Wiley, London (1998)

    Google Scholar 

  10. Casale, G., Serazzi, G.: Quantitative system evaluation with java modeling tools. In: ICPE’11—Second Joint WOSP/SIPEW International Conference on Performance Engineering, pp. 449–454 (2011)

  11. 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)

  12. Cortellessa V., Di Marco A., Inverardi P.: Model-Based Software Performance Analysis. Springer, Berlin (2011)

    Book  Google Scholar 

  13. Cortellessa, V., Di Marco, A., Trubiani, C.: Performance Antipatterns as Logical Predicates. In: IEEE International Conference on Engineering of Complex Computer Systems, ICECCS, Oxford, UK, pp. 146–156 (2010)

  14. Cortellessa V., Martens A., Reussner R., Trubiani C.: A process to effectively identify “Guilty” performance antipatterns. In: Rosenblum, D.S., Taentzer, G. (eds) FASE, ser. Lecture Notes in Computer Science, vol. 6013, pp. 368–382. Springer, Berlin (2010)

    Google Scholar 

  15. Cortellessa V., Mirandola R.: Prima-uml: a performance validation incremental methodology on early uml diagrams. Sci. Comput. Program. 44(1), 101–129 (2002)

    Article  MATH  Google Scholar 

  16. Dudney B., Asbury S., Krozak J.K., Wittkopf K.: J2EE Antipatterns. Wiley, London (2003)

    Google Scholar 

  17. Elaasar, M., Briand, L.C., Labiche, Y.: A metamodeling approach to pattern specification. In: Lecture Notes in Computer Science: Model Driven Engineering Languages and Systems, Vol. 4199/2006, pp. 484–498. Springer, Berlin (2006)

  18. Florescu O., Voeten J., Theelen B., Corporaal H.: Patterns for automatic generation of soft real-time system models. Simulation 85(11–12), 709–734 (2009)

    Article  Google Scholar 

  19. France R.B., Kim D.-K., Ghosh S., Song E.: A uml-based pattern specification technique. IEEE Trans. Softw. Eng. 30(3), 193–206 (2004)

    Article  Google Scholar 

  20. Gamma E., Helm R., Johnson R., Vlissides J.: Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley, Boston (1995)

    Google Scholar 

  21. Grunske L.: Specification patterns for probabilistic quality properties. In: Schäfer, W., Dwyer, M.B., Gruhn, V. (eds) ICSE, pp. 31–40. ACM, New York (2008)

    Chapter  Google Scholar 

  22. Harman, M.: The current state and future of search based software engineering. In: Workshop on the Future of Software Engineering (FOSE), pp. 342–357 (2007)

  23. Hopcroft J.E., Motwani R., Ullman J.D.: Introduction to Automata Theory, Languages, and Computation, 3rd edn. Prentice Hall, Englewood Cliffs (2006)

    Google Scholar 

  24. Jain R.: The art of computer systems performance analysis: Techniques for experimental design, measurement, simulation, and modeling. SIGMETRICS Perform. Eval. Rev. 19(2), 5–11 (1991)

    Article  Google Scholar 

  25. Kant K.: Introduction to Computer System Performance Evaluation. McGraw-Hill, New York (1992)

    Google Scholar 

  26. Kleinrock L.: Queueing Systems Vol. 1: Theory. Wiley, London (1975)

    Google Scholar 

  27. Kniesel G., Hannemann J., Rho T.: A comparison of logic-based infrastructures for concern detection and extraction. In: Workshop on Linking Aspect Technology and Evolution (2007)

  28. Lazowska E.D., Zahorjan J., Scott Graham G., Sevcik K.C.: Computer System Analysis Using Queueing Network Models. Prentice-Hall, Englewood Cliffs (1984)

    Google Scholar 

  29. Martens, A., Koziolek, H., Becker, S., Reussner, R.: Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. In: WOSP/SIPEW International Conference on Performance Engineering, pp. 105–116 (2010)

  30. Milner R.: Communication and Concurrency. Prentice Hall, Englewood Cliffs (1989)

    MATH  Google Scholar 

  31. Parsons T., Murphy J.: Detecting performance antipatterns in component based enterprise systems. J. Object Technol. 7(3), 55–90 (2008)

    Article  Google Scholar 

  32. Sabetta, A., Petriu, D.C., Grassi, V., Mirandola, R.: Abstraction-raising transformation for generating analysis models. In: MoDELS Satellite Events, pp. 217–226 (2005)

  33. Smith, C.U., Williams, L.G.: Software performance antipatterns. In: 2nd International Workshop on Software and Performance, pp. 127–136 (2000)

  34. Smith, C.U., Williams, L.G.: Software performance antipatterns; common performance problems and their solutions. In: Int. CMG Conference, pp. 797–806 (2001)

  35. Smith, C.U., Williams, L.G.: New software performance antipatterns: More ways to shoot yourself in the foot. In: Computer Measurement Group Conference, pp. 667–674 (2002)

  36. Smith C.U., Williams L.G.: Performance Solutions: A Practical Guide to Creating Responsive, Scalable Software. Addison Wesley Longman Publishing Co. Inc., Redwood City (2002)

    Google Scholar 

  37. 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, pp. 717–725 (2003)

  38. Sommerville I.: Software Engineering, 8th edn. Addison Wesley, Reading (2006)

    Google Scholar 

  39. Sup So S., Deok Cha S., Rae Kwon Y.: Empirical evaluation of a fuzzy logic-based software quality prediction model. Fuzzy Sets Syst. 127(2), 199–208 (2002)

    Article  MATH  Google Scholar 

  40. Taibi T., Ngo D.C.L.: Formal specification of design patterns—a balanced approach. J. Object Technol. 2(4), 127–140 (2003)

    Article  Google Scholar 

  41. Tate B., Clark M., Lee B., Linskey P.: Bitter EJB. Manning, Shelter Island (2003)

    Google Scholar 

  42. Trcka, N., van der Aalst, W.M., Sidorova, N.: Data-flow anti-patterns: discovering dataflow errors in workflows. In: Conference on Advanced Information Systems (CAiSE), vol. 5565, pp. 425–439. LNCS Springer (2009)

  43. Trivedi K.S.: Probability and Statistics with Reliability, Queueing and Computer Science Applications. Wiley, London (2001)

    Google Scholar 

  44. Trubiani, C., Koziolek, A.: Detection and solution of software performance antipatterns in palladio architectural models. In: Proceedings of the 2nd ACM/SPEC International Conference on Performance Engineering (ICPE), pp. 19–30. ACM, New York, USA (2011)

  45. Woodside C.M.: A three-view model for performance engineering of concurrent software. IEEE Trans. Softw. Eng. 21(9), 754–767 (1995)

    Article  Google Scholar 

  46. Woodside, C.M., Petriu, D.C., Petriu, D.B., Shen, H., Israr, T., Merseguer, J.: Performance by unified model analysis (PUMA). In: WOSP, pp. 1–12 (2005)

  47. Extensible Markup Language (XML), World Wide Web Consortium (W3C). http://www.w3.org/XML

  48. Xu, J.: Rule-based automatic software performance diagnosis and improvement. In: WOSP, pp. 1–12 (2008)

  49. Zheng, T., Woodside, C.M.: Heuristic optimization of scheduling and allocation for distributed systems with soft deadlines. In: Computer Performance Evaluations, Modelling Techniques and Tools, pp. 169–181 (2003)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Catia Trubiani.

Additional information

Communicated by Dr. Sebastien Gerard.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Cortellessa, V., Di Marco, A. & Trubiani, C. An approach for modeling and detecting software performance antipatterns based on first-order logics. Softw Syst Model 13, 391–432 (2014). https://doi.org/10.1007/s10270-012-0246-z

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-012-0246-z

Keywords

Navigation