• DocumentCode
    1900575
  • Title

    Removing Code Duplication with Roles

  • Author

    Barbosa, Fernando Sergio ; Aguiar, Ana

  • Author_Institution
    Escola Super. de Tecnol., Inst. Politec. de Castelo Branco, Castelo Branco, Portugal
  • fYear
    2013
  • fDate
    22-24 Sept. 2013
  • Firstpage
    37
  • Lastpage
    42
  • Abstract
    The existence of replicated code in a system makes that system harder to maintain and evolve. To remove replicated code the usual way is to use refactorings. However there are always clones that cannot be removed by refactorings alone. Some are due to lack of composition mechanisms in the underlying programming language. We propose the use of roles to remove such clones since roles provide a finer degree of composition. We sketch four role refactorings to remove code clones and apply them in a case study using the JHotDraw framework. Results show that roles have a positive impact in clone reduction as they were able to remove almost all clones traditional refactorings could not.
  • Keywords
    programming languages; software maintenance; source coding; JHotDraw framework; code clone removal; code duplication reduction; composition mechanisms; programming language; refactorings; replicated code removal; role usage; Cloning; Collaboration; Conferences; Containers; Observers; Software; Vectors;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Intelligent Software Methodologies, Tools and Techniques (SoMeT), 2013 IEEE 12th International Conference on
  • Conference_Location
    Budapest
  • Print_ISBN
    978-1-4799-0419-8
  • Type

    conf

  • DOI
    10.1109/SoMeT.2013.6645656
  • Filename
    6645656