skip to main content
10.1145/1411273.1411285acmconferencesArticle/Chapter ViewAbstractPublication PagesicfpConference Proceedingsconference-collections
research-article

Refactoring module structure

Published:27 September 2008Publication History

ABSTRACT

This paper focuses on restructuring software written in Erlang. In large software projects, it is a common problem that internal structural complexity can grow to an extent where maintenance becomes impossible. This situation can be avoided by careful design, building loosely coupled components with strictly defined interfaces. However, when these design decisions are not made in the right time, it becomes necessary to split an already working software into such components, without breaking its functionality. There is strong industrial demand for such transformations in refactoring legacy code.

A refactoring tool is very useful in the execution of such a restructuring. This paper shows that the semantical analysis required for refactoring is also useful for making suggestions on clustering. Existing analysis results are used to cover the whole process of module restructuring, starting with planning the new structure, and finishing by making the necessary source code transformations.

Skip Supplemental Material Section

Supplemental Material

1411285.mp4

mp4

127.3 MB

References

  1. Anquetil N., Fourrier, C., Lethbridge T. C.: Experiments with Hierarchical Clustering Algorithms as Software Remodularization Methods Working. Conference on Reverse Engineering (1999). Google ScholarGoogle ScholarDigital LibraryDigital Library
  2. Armstrong, J.: Making reliable distributed systems in the presence of software errors. PhD thesis, The Royal Institute of Technology, Stockholm, Sweden (2003)Google ScholarGoogle Scholar
  3. Armstrong, J.: Programming Erlang, Software for a Concurrent World. Pragmatic Bookshelf (2007) Google ScholarGoogle ScholarDigital LibraryDigital Library
  4. Fowler, M., Beck, K., Brant, J., Opdyke, W., Roberts, D.: Refactoring: Improving the Design of Existing Code. Addison-Wesley (1999) Google ScholarGoogle ScholarDigital LibraryDigital Library
  5. Harman, M., Swift, S., Mahdavi, K.: An empirical study of the robustness of two module clustering fitness functions. GECCO '05: Proceedings of the 2005 conference on Genetic and evolutionary computation (2005), 1029--1036 Google ScholarGoogle ScholarDigital LibraryDigital Library
  6. Horváth, Z. et al.: Refactoring Erlang Programs. http://plc.inf.elte.hu/erlang/Google ScholarGoogle Scholar
  7. Kitlei, R., Lövei, L., Nagy, T., Nagyné, V. A., Horváth, Z., Csörnyei, Z.: Generic syntactic analyser: ParsErl. International Erlang/OTP User Conference (2007).Google ScholarGoogle Scholar
  8. Lövei, L., Horváth, Z., Kozsik, T., Víg, A., Nagy, T.: Refactoring Erlang programs. To appear in: Periodica Polytechnica - Electrical Engineering (2007) 19 pages.Google ScholarGoogle Scholar
  9. Li, H., Thompson, S., Lövei, L., Horváth, Z., Kozsik, T., Víg, A., Nagy, T.: Refactoring Erlang programs. In: The Proceedings of 12th International Erlang/OTP User Conference, Stockholm, Sweden (2006) http://www.erlang.se/euc/06/, 10 pages.Google ScholarGoogle Scholar
  10. Lövei, L., Horváth, Z., Király R., Kitlei R.: Static rules for variable scoping in Erlang. To appear in: The 7th International Conference on Applied Informatics, Eger, Hungary, 2007.Google ScholarGoogle Scholar
  11. Nagy, T., Víg, A.: Erlang refactor tool. Master thesis, Eötvös Loránd University, Budapest, Hungary, 2007.Google ScholarGoogle Scholar

Index Terms

  1. Refactoring module structure

    Recommendations

    Comments

    Login options

    Check if you have access through your login credentials or your institution to get full access on this article.

    Sign in
    • Published in

      cover image ACM Conferences
      ERLANG '08: Proceedings of the 7th ACM SIGPLAN workshop on ERLANG
      September 2008
      96 pages
      ISBN:9781605580654
      DOI:10.1145/1411273
      • General Chair:
      • Tee Teoh,
      • Program Chair:
      • Zoltán Horváth

      Copyright © 2008 ACM

      Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

      Publisher

      Association for Computing Machinery

      New York, NY, United States

      Publication History

      • Published: 27 September 2008

      Permissions

      Request permissions about this article.

      Request Permissions

      Check for updates

      Qualifiers

      • research-article

      Acceptance Rates

      ERLANG '08 Paper Acceptance Rate9of10submissions,90%Overall Acceptance Rate51of68submissions,75%

      Upcoming Conference

      ICFP '24

    PDF Format

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader