Deriving Work Plans for Solving Performance and Scalability Problems

  • Christoph Heger
  • Robert Heinrich
Part of the Lecture Notes in Computer Science book series (LNCS, volume 8721)


The performance of an enterprise application (e.g. response time, throughput, or resource utilization) is an important quality attribute that can have a significant impact on a company’s success. When a performance problem such as a performance bottleneck has been detected, the root cause identified and a solution proposed, developers have to identify the elements of the application often manually that will undergo changes and determine how these elements must be changed in order to implement the solution. Many existing approaches are able to identify the elements that have to be modified but only few are able to determine the necessary types of changes on these elements. Neither of the approaches supports developers with a work plan sketching the implementation steps. In this paper, we propose an approach to point developers the way torwards an implementation of a performance or scalability solution with an ordered set of work activities. Rules are used to derive a work plan sketching the implementation of a solution for the particular application based on an initial set of work activities. The rule-based approach identifies impacted elements and determines how they should be changed. We demonstrate the proposed approach with a solution of a performance bottleneck as an example.


Software Performance Engineering Solution Implementation Support Rules Impact Propagation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
  2. 2.
    Albrecht, A.J.: Measuring application development productivity. In: Proceedings of the Joint SHARE/GUIDE/IBM Application Development Symposium, vol. 10 (1979)Google Scholar
  3. 3.
    Arcelli, D., Cortellessa, V.: Software model refactoring based on performance analysis: Better working on software or performance side? In: FESCA (2013)Google Scholar
  4. 4.
    Arcelli, D., Cortellessa, V., Di Ruscio, D.: Applying model differences to automate performance-driven refactoring of software models. In: Balsamo, M.S., Knottenbelt, W.J., Marin, A. (eds.) EPEW 2013. LNCS, vol. 8168, pp. 312–324. Springer, Heidelberg (2013)CrossRefGoogle Scholar
  5. 5.
    Arcelli, D., Cortellessa, V., Trubiani, C.: Antipattern-based model refactoring for software performance improvement. In: Proceedings of the 8th International ACM SIGSOFT Conference on Quality of Software Architectures. ACM (2012)Google Scholar
  6. 6.
    Arnold, R.S., Bohner, S.A.: Software Change Impact Analysis. IEEE Computer Society Press (1996)Google Scholar
  7. 7.
    Becker, S., Koziolek, H., Reussner, R.: The palladio component model for model-driven performance prediction. Journal of Systems and Software 82(1) (2009)Google Scholar
  8. 8.
    Boehm, B., Clark, B., Horowitz, E., Westland, C., Madachy, R., Selby, R.: Cost models for future software life cycle processes: Cocomo 2.0. Annals of Software Engineering 1(1) (1995)Google Scholar
  9. 9.
    Briand, L.C., Labiche, Y., O’sullivan, L.: Impact analysis and change management of uml models. In: Proceedings of the International Conference on Software Maintenance, ICSM 2003. IEEE (2003)Google Scholar
  10. 10.
    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 on Software Engineering and Advanced Applications, SEAA 2009. IEEE (2009)Google Scholar
  11. 11.
    Cortellessa, V., Di Marco, A., Trubiani, C.: An approach for modeling and detecting software performance antipatterns based on first-order logics. Software and Systems Modeling (2012)Google Scholar
  12. 12.
    Edwards, W.: How to use multiattribute utility measurement for social decision making. IEEE Transactions on Systems, Man and Cybernetics 7(5) (1977)Google Scholar
  13. 13.
    Eramo, R., Pierantonio, A., Romero, J.R., Vallecillo, A.: Change management in multi-viewpoint system using asp. In: 2008 12th Enterprise Distributed Object Computing Conference Workshops. IEEE (2008)Google Scholar
  14. 14.
    O.M. Group. Business process model and notation, bpmn (2011)Google Scholar
  15. 15.
    Heidenreich, F., Johannes, J., Seifert, M., Wende, C.: Jamopp: The java model parser and printer. Techn. Univ., Fakultät Informatik (2009)Google Scholar
  16. 16.
    Keller, A., Schippers, H., Demeyer, S.: Supporting inconsistency resolution through predictive change impact analysis. In: Proceedings of the 6th International Workshop on Model-Driven Engineering, Verification and Validation, p. 9. ACM (2009)Google Scholar
  17. 17.
    Lehnert, S.: A review of software change impact analysis. Ilmenau University of Technology, Tech. Rep. (2011)Google Scholar
  18. 18.
    Lehnert, S., Farooq, Q., Riebisch, M.: A taxonomy of change types and its application in software evolution. In: 2012 IEEE 19th International Conference and Workshops on Engineering of Computer Based Systems (ECBS) (April 2012)Google Scholar
  19. 19.
    Lehnert, S., Riebisch, M., et al.: Rule-based impact analysis for heterogeneous software artifacts. In: 2013 17th European Conference on Software Maintenance and Reengineering (CSMR). IEEE (2013)Google Scholar
  20. 20.
    Lindvall, M., Sandahl, K.: Traceability aspects of impact analysis in object-oriented systems. Journal of Software Maintenance: Research and Practice 10(1) (1998)Google Scholar
  21. 21.
    McCabe, T.J.: A complexity measure. In: Proceedings of the 2nd International Conference on Software Engineering, ICSE 1976, Los Alamitos, CA, USA. IEEE Computer Society Press (1976)Google Scholar
  22. 22.
    Parsons, T.: Automatic Detection of Performance Design and Deployment Antipatterns in Component Based Enterprise Systems. PhD thesis, University College Dublin (2007)Google Scholar
  23. 23.
    Saaty, T.: The analytic hierarchy and analytic network processes for the measurement of intangible criteria and for decision-making. In: Multiple Criteria Decision Analysis: State of the Art Surveys. Springer, New York (2005)Google Scholar
  24. 24.
    Schwaber, K., Beedle, M.: Agile Software Development with Scrum. Pearson (2002)Google Scholar
  25. 25.
    Smith, C.U., Williams, L.G.: Software performance antipatterns. In: Workshop on Software and Performance (2000)Google Scholar
  26. 26.
    Stammel, J., Reussner, R.: Kamp: Karlsruhe architectural maintainability prediction. In: Proceedings of the 1st Workshop des GI-Arbeitskreises Langlebige Softwaresysteme (L2S2): Design for Future-Langlebige Softwaresysteme (2009)Google Scholar
  27. 27.
    Stammel, J., Trifu, M.: Tool-supported estimation of software evolution effort in service-oriented systems. In: Joint Proceedings of the First International Workshop on Model-Driven Software Migration (MDSM 2011) and the Fifth International Workshop on Software Quality and Maintainability (SQM 2011), vol. 708 (2011)Google Scholar
  28. 28.
    Trubiani, C., Koziolek, A.: Detection and solution of software performance antipatterns in palladio architectural models. In: ICPE (2011)Google Scholar
  29. 29.
    van Hoorn, A., Rohr, M., Hasselbring, W.: Generating probabilistic and intensity-varying workload for web-based software systems. In: Kounev, S., Gorton, I., Sachs, K. (eds.) SIPEW 2008. LNCS, vol. 5119, pp. 124–143. Springer, Heidelberg (2008)Google Scholar
  30. 30.
    Wert, A., Oehler, M., Heger, C., Farahbod, R.: Automatic Detection of Performance Anti-patterns in Inter-component Communications. In: Proceedings of the 10th International Conference on Quality of Software Architecture, QoSA 2014 (2014)Google Scholar
  31. 31.
    Xu, J.: Rule-based automatic software performance diagnosis and improvement. Performance Evaluation 69(11) (2012)Google Scholar

Copyright information

© Springer International Publishing Switzerland 2014

Authors and Affiliations

  • Christoph Heger
    • 1
  • Robert Heinrich
    • 1
  1. 1.Karlsruhe Institute of TechnologyKarlsruheGermany

Personalised recommendations