Title
Improving modularity by refactoring code clones: a feasibility study on Linux
Abstract
Modularity is an important principle of software design. It is directly associated with software understandability, maintainability, and reusability. However, as software systems evolve, old code segments are modified / removed and new code segments are added, the original modular design of the program might be distorted. One of the factors that can affect the modularity of the system is the introduction of code clones --- a portion of source code that is identical or similar to another --- in the software evolution process. This paper applies clone detection techniques to study the modularity of Linux. The code clones are first identified using an automatic tool. Then each clone set is analyzed by a domain expert to classify it into one of the three clone concern categories: singular concern, crosscutting concern, and partial concern. Different approaches to dealing with these different categories of code clones are suggested in order to improve modularity.
Year
DOI
Venue
2008
10.1145/1350802.1350816
ACM SIGSOFT Software Engineering Notes
Keywords
Field
DocType
improving modularity,operating systems,old code segment,refactoring code clone,crosscutting concern,modularity,partial concern,code clone,source code,software design,new code segment,software evolution process,linux,feasibility study,singular concern,clone concern category,refactoring,modular design,software systems,operating system,software evolution
Static program analysis,Systems engineering,Software engineering,Source code,Computer science,Software system,Modular design,Software evolution,Software construction,Code refactoring,Modularity
Journal
Volume
Issue
Citations 
33
2
4
PageRank 
References 
Authors
0.44
16
2
Name
Order
Citations
PageRank
Liguo Yu128429.33
srini ramaswamy233745.77