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
Link To Document