Skip to main content

Towards Extensive Software Architecture Erosion Repairs

  • Conference paper
Software Architecture (ECSA 2013)

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

Included in the following conference series:

Abstract

Software architecture erosion can reduce the quality of software systems significantly. It is hence of great importance to repair erosion efficiently, for example, by means of refactoring. However, existing refactoring approaches do not address architecture erosion holistically.

In this paper, we describe the problem of optimally repairing software architecture erosion and investigate the applicability and limitations of current refactoring approaches. We argue that a heuristic search for adequate repairs using formalized and explicit knowledge of software engineers could overcome those limitations.

This paper outlines an approach we have been starting to investigate in our recent research and also aims at stimulating a discussion about further research challenges in repairing software architecture erosion.

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. Perry, D.E., Wolf, A.L.: Foundations for the study of software architecture. ACM SIGSOFT Softw. Eng. Notes 17, 40–52 (1992)

    Article  Google Scholar 

  2. van Gurp, J., Bosch, J.: Design erosion: problems and causes. J. Syst. Softw. 61(2), 105–119 (2002)

    Article  Google Scholar 

  3. Lindvall, M., Muthig, D.: Bridging the software architecture gap. IEEE Computer 41, 98–101 (2008)

    Article  Google Scholar 

  4. Sarkar, S., Ramachandran, S., Kumar, G.S., Iyengar, M.K., Rangarajan, K., Sivagnanam, S.: Modularization of a large-scale business application: A case study. IEEE Softw. 26(2), 28–35 (2009)

    Article  Google Scholar 

  5. de Silva, L., Balasubramaniam, D.: Controlling software architecture erosion: A survey. J. Syst. Softw. 85(1), 132–151 (2012)

    Article  Google Scholar 

  6. Murphy, G.C., Notkin, D., Sullivan, K.J.: Software reflexion models: bridging the gap between design and implementation. IEEE Trans. Softw. Eng. 27(4), 364–380 (2001)

    Article  Google Scholar 

  7. Opdyke, W.F.: Refactoring object-oriented frameworks. PhD thesis, University of Illinois at Urbana-Champaign (1992)

    Google Scholar 

  8. Fowler, M.: Refactoring: Improving the Design of Existing Code. Addison-Wesley (1999)

    Google Scholar 

  9. Eden, A., Hirshfeld, Y., Kazman, R.: Abstraction classes in software design. IEE Proc. - Softw. 153(4), 163–182 (2006)

    Article  Google Scholar 

  10. Buschmann, F., Meunier, R., Rohnert, H., Sommerlad, P.: A System of Patterns: Pattern-Oriented Software Architecture, vol. 1. John Wiley & Sons (1996)

    Google Scholar 

  11. Ouni, A., Kessentini, M., Sahraoui, H., Boukadoum, M.: Maintainability defects detection and correction: a multi-objective approach. Automated Software Engineering 20, 47–79 (2013)

    Article  Google Scholar 

  12. Seng, O., Stammel, J., Burkhart, D.: Search-based determination of refactorings for improving the class structure of object-oriented systems. In: Proc. of the 8th Conf. on Genetic and Evolutionary Computation, pp. 1909–1916. ACM (2006)

    Google Scholar 

  13. O’Keeffe, M., Cinneide, M.: Search-based software maintenance. In: Proc. of the 10th Europ. Conf. on Software Maintenance and Reengineering (2006)

    Google Scholar 

  14. Ivkovic, I., Kontogiannis, K.: A framework for software architecture refactoring using model transformations and semantic annotations. In: Proc. of the 10th Europ. Conf. on Software Maintenance and Reengineering, pp. 135–144. IEEE (2006)

    Google Scholar 

  15. Dietrich, J., McCartin, J., Tempero, E., Shah, S.M.A.: On the existence of high-impact refactoring opportunities in programs. In: Australasian Computer Science Conf., vol. 122, pp. 37–48. ACS (2012)

    Google Scholar 

  16. Shah, S.M.A., Dietrich, J., McCartin, C.: Making smart moves to untangle programs. In: Proc. of the 2012 16th Europ. Conf. on Software Maintenance and Reengineering, pp. 359–364. IEEE (2012)

    Google Scholar 

  17. Hotta, K., Higo, Y., Kusumoto, S.: Identifying, tailoring, and suggesting form template method refactoring opportunities with program dependence graph. In: 16th Europ. Conf. on Software Maintenance and Reengineering, pp. 53–62 (2012)

    Google Scholar 

  18. Bourqun, F., Keller, R.K.: High-impact refactoring based on architecture violations. In: Proc. of the 11th Europ. Conf. on Software Maintenance and Reengineering, pp. 149–158. IEEE (2007)

    Google Scholar 

  19. Schmidt, F., MacDonell, S.G., Connor, A.M.: An automatic architecture reconstruction and refactoring framework. In: Lee, R. (ed.) Software Eng. Research, Management & Appl. 2011. SCI, vol. 377, pp. 95–111. Springer, Heidelberg (2012)

    Chapter  Google Scholar 

  20. Pérez, J., Crespo, Y.: Computation of refactoring plans from refactoring strategies using htn planning. In: Proc. of the Fifth Workshop on Refactoring Tools, pp. 24–31. ACM (2012)

    Google Scholar 

  21. Tsantalis, N., Chatzigeorgiou, A.: Identification of move method refactoring opportunities. IEEE Trans. Softw. Eng. 35(3), 347–367 (2009)

    Article  Google Scholar 

  22. Ouni, A., Kessentini, M., Sahraoui, H., Hamdi, M.: Search-based refactoring: Towards semantics preservation. In: 28th IEEE Int. Conf. on Software Maintenance, pp. 347–356 (2012)

    Google Scholar 

  23. Moghadam, I.H., Cinneide, M.O.: Automated refactoring using design differencing. In: Proc. of the 16th Europ. Conf. on Software Maintenance and Reengineering, pp. 43–52. IEEE Computer Society (2012)

    Google Scholar 

  24. Terra, R., Valente, M.T., Czarnecki, K., da Silva Bigonha, R.: Recommending refactorings to reverse software architecture erosion. In: Proc. of the 16th Europ. Conf. on Software Maintenance and Reengineering, pp. 335–340. IEEE (2012)

    Google Scholar 

  25. Herold, S.: Architectural Compliance in Component-Based Systems. Foundations, Specification, and Checking of Architectural Rules. PhD thesis, Clausthal University of Technology (2011)

    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

Mair, M., Herold, S. (2013). Towards Extensive Software Architecture Erosion Repairs. In: Drira, K. (eds) Software Architecture. ECSA 2013. Lecture Notes in Computer Science, vol 7957. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-39031-9_25

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-39031-9_25

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-39030-2

  • Online ISBN: 978-3-642-39031-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics