Skip to main content

Applying Model Differences to Automate Performance-Driven Refactoring of Software Models

  • Conference paper
Computer Performance Engineering (EPEW 2013)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8168))

Included in the following conference series:

Abstract

Identifying and removing the causes of poor performance in software systems are complex problems, and these issues are usually tackled after software deployment only with human-based means. Performance antipatterns can be used to harness these problems since they capture design patterns that are known leading to performance problems, and they suggest refactoring actions that can solve the problems. This paper introduces an approach to automate software model refactoring based on performance antipatterns. A Role-Based Modeling Language is used to model antipattern problems as Source Role Models (SRMs), and antipattern solutions as Target Role Models (TRMs). Each (SRM, TRM) pair is represented by a difference model that encodes refactoring actions to be operated on a software model to remove the corresponding antipattern. Differences are applied to software models through a model transformation automatically generated by a higher-order transformation. The approach is shown at work on an example in the e-commerce domain.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Arcelli, D., Cortellessa, V.: Software model refactoring based on performance analysis: better working on software or performance side? In: Buhnova, B., Happe, L., Kofron, J. (eds.) FESCA. EPTCS, vol. 108, pp. 33–47 (2013)

    Google Scholar 

  2. Arcelli, D., Cortellessa, V., Trubiani, C.: A repository of Source and Target Role Models for software performance antipatterns. Technical report (2011), http://www.di.univaq.it/cortelle/docs/005-2011-report.pdf

  3. Arcelli, D., Cortellessa, V., Trubiani, C.: Antipattern-based model refactoring for software performance improvement. In: Proceedings of the 12th QoSA (2012)

    Google Scholar 

  4. Casale, G., Serazzi, G.: Quantitative system evaluation with java modeling tools. In: ICPE, pp. 449–454 (2011)

    Google Scholar 

  5. Cicchetti, A., Di Ruscio, D., Iovino, L., Pierantonio, A.: Managing the evolution of data-intensive web applications by model-driven techniques. Software and Systems Modeling 12(1), 53–83 (2013)

    Article  Google Scholar 

  6. Cicchetti, A., Di Ruscio, D., Pierantonio, A.: A Metamodel Independent Approach to Difference Representation. Journal of Object Technology 6(9), 165–185 (2007)

    Article  Google Scholar 

  7. Cortellessa, V., Di Marco, A., Trubiani, C.: An approach for modeling and detecting software performance antipatterns based on first-order logics. Journal of Software and Systems Modeling (2012), doi:10.1007/s10270-012-0246-z

    Google Scholar 

  8. Cortellessa, V., Martens, A., Reussner, R., Trubiani, C.: A process to effectively identify “Guilty” performance antipatterns. In: Rosenblum, D.S., Taentzer, G. (eds.) FASE 2010. LNCS, vol. 6013, pp. 368–382. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  9. 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 

  10. Di Cosmo, R., Di Ruscio, D., Pelliccione, P., Pierantonio, A., Zacchiroli, S.: Supporting software evolution in component-based foss systems. Science of Computer Programming 76(12), 1144–1160 (2011), http://dx.doi.org/10.1016/j.scico.2010.11.001

    Article  Google Scholar 

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

    Google Scholar 

  12. France, R.B., Kim, D.-K., Ghosh, S., Song, E.: A UML-Based Pattern Specification Technique. IEEE Trans. Software Eng. 30(3), 193–206 (2004)

    Article  Google Scholar 

  13. Kolovos, D.S., Di Ruscio, D., Paige, R.F., Pierantonio, A.: Different models for model matching: An analysis of approaches to support model differencing. In: CVSM at ICSE (2009)

    Google Scholar 

  14. Koziolek, A., Koziolek, H., Reussner, R.: Peropteryx: automated application of tactics in multi-objective software architecture optimization. In: QoSA/ISARCS, pp. 33–42 (2011)

    Google Scholar 

  15. Laplante, P.A., Neill, C.J.: AntiPatterns: Identification, Refactoring and Management. Auerbach (2005)

    Google Scholar 

  16. Lin, Y., Zhang, J., Gray, J.: A testing framework for model transformations. Model-Driven Software Development (2005)

    Google Scholar 

  17. Mens, T., Taentzer, G.: Model-driven software refactoring. In: Dig, D. (ed.) WRT, pp. 25–27 (2007)

    Google Scholar 

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

    Article  Google Scholar 

  19. Pierantonio, A., Iovino, L., Di Rocco, J.: Bridging state-based differencing and co-evolution. In: Models and Evolution Workshop at MODELS (September 2012)

    Google Scholar 

  20. Ramachandran, K., Fathi, K., Rao, B.: Recent trends in systems performance monitoring & failure diagnosis. In: IEEM, pp. 2193–2200 (2010)

    Google Scholar 

  21. Smith, C.U., Williams, L.G.: More new software antipatterns: Even more ways to shoot yourself in the foot. In: CMG Conference, pp. 717–725 (2003)

    Google Scholar 

  22. Trubiani, C.: A model-based framework for software performance feedback. In: Dingel, J., Solberg, A. (eds.) MODELS 2010. LNCS, vol. 6627, pp. 19–34. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  23. Vermolen, S., Visser, E.: Heterogeneous Coupled Evolution of Software Languages. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 630–644. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  24. Woodside, C.M., Franks, G., Petriu, D.C.: The future of software performance engineering. In: Workshop on the Future of Software Engineering (FOSE), pp. 171–187 (2007)

    Google Scholar 

  25. Xu, J.: Rule-based automatic software performance diagnosis and improvement. In: Workshop on Software and Performance (WOSP), pp. 1–12 (2008)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2013 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Arcelli, D., Cortellessa, V., Di Ruscio, D. (2013). Applying Model Differences to Automate Performance-Driven Refactoring of Software Models. In: Balsamo, M.S., Knottenbelt, W.J., Marin, A. (eds) Computer Performance Engineering. EPEW 2013. Lecture Notes in Computer Science, vol 8168. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-40725-3_24

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-40725-3_24

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-40724-6

  • Online ISBN: 978-3-642-40725-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics