Title :
A Study of Cloning in the Linux SCSI Drivers
Author :
Wang, Wei ; Godfrey, Michael W.
Author_Institution :
David R. Cheriton Sch. of Comput. Sci., Univ. of Waterloo, Waterloo, ON, Canada
Abstract :
To date, most research on software code cloning has concentrated on detection and analysis techniques and their evaluation, and most empirical studies of cloning have investigated cloning within single system versions. In this paper, we present the results of a longitudinal study of cloning among the SCSI drivers for the Linux operating system that spans 16 years of evolution. We have chosen the SCSI driver subsystem as a test subject as it is known that cloning has been embraced by these developers as a design practice: when a new SCSI card comes out that is similar to an old one, but different enough to warrant its own implementation, a new driver may be cloned from an existing one. We discuss the results of our qualitative and quantitative analyses, including how the layered architecture of the SCSI subsystem seems to have affected the use of cloning as a design tool, the likelihood of consistent and inconsistent change over time, and the predictive power of using cloning between two independent driver implementations to model the similarity between two target devices.
Keywords :
Linux; device drivers; software tools; Linux SCSI driver subsystem; Linux operating system; analysis techniques; design tool; detection techniques; layered architecture; quantitative analyses; software code cloning; Cloning; Computer architecture; Detectors; Hardware; Kernel; Linux; clone evolution; crosscutting concerns; software clones;
Conference_Titel :
Source Code Analysis and Manipulation (SCAM), 2011 11th IEEE International Working Conference on
Conference_Location :
Williamsburg, VI
Print_ISBN :
978-1-4577-0932-6
DOI :
10.1109/SCAM.2011.17