DocumentCode
2111174
Title
Visualizing Clone Cohesion and Coupling
Author
Jiang, Zhen Ming ; Hassan, Ahmed E. ; Holt, Richard C.
Author_Institution
Waterloo Univ., Waterloo, ON
fYear
2006
fDate
6-8 Dec. 2006
Firstpage
467
Lastpage
476
Abstract
Coupling and cohesion between subsystems are commonly studied metrics when analyzing the architecture of software systems. It is usually desirable for subsystems to have high cohesion within the subsystem and to have low coupling to other subsystems. High cohesion implies cohesive concerns and low coupling implies localized changes. We extend the ideas of coupling and cohesion to code cloning. A code clone is a segment of code that has been created through duplication of another piece of code. Previous research has shown that in some instances code cloning is desirable, whereas in other cases it is not. We believe that it is justifiable to have code cloning within subsystems (high cohesion), whereas it is not justifiable and likely not desirable to have it across subsystems (high coupling). We present an approach, which consists of a framework that generates and filters cloning data and a visualization technique which graphically highlights clone cohesion and coupling between architectural subsystems. Our approach can be used by developers to locate undesirable cloning in their software system. We demonstrate our approach through a case study on the SCSI drivers in the Linux kernel.
Keywords
data visualisation; software architecture; software maintenance; software metrics; Linux kernel; SCSI drivers; code clone; coupling; software system; visualization technique; visualizing clone cohesion; Cloning; Computer architecture; Computer bugs; Data visualization; Filters; Kernel; Linux; Monitoring; Software maintenance; Software systems;
fLanguage
English
Publisher
ieee
Conference_Titel
Software Engineering Conference, 2006. APSEC 2006. 13th Asia Pacific
Conference_Location
Kanpur
ISSN
1530-1362
Print_ISBN
0-7695-2685-3
Type
conf
DOI
10.1109/APSEC.2006.63
Filename
4137451
Link To Document