394 Yu-Seung Ma et al.
ETRI Journal, Volume 30, Number 3, June 2008
Domain analysis is the process of analyzing related
software systems in a domain to find their common and
variable parts. In the case of device drivers, they are
highly suitable for domain analysis because device drivers
of the same domain are implemented similarly for each
device and each system that they support. Considering
this characteristic, this paper introduces a new approach
to the domain analysis of device drivers. Our method uses
a code clone detection technique to extract similarity
among device drivers of the same domain. To examine the
applicability of our method, we investigated whole device
drivers of a Linux source. Results showed that many
reusable similar codes can be discerned by the code clone
detection method. We also investigated if our method is
applicable to other kernel sources. However, the results
show that the code clone detection method is not useful for
the domain analysis of all kernel sources. That is, the
applicability of the code clone detection method to domain
analysis is a peculiar feature of device drivers.
Keywords: Device drivers, code clone detection.
Manuscript received Aug. 10, 2007; revised Nov. 23, 2007.
This work was supported by the IT R&D program of MKE/IITA, Rep. of Korea (2008-S-
023-01, Development of NanoQplus-Based Sensor Network Simulator).
Yu-Seung Ma (phone: +82 42 860 6551, email: email@example.com) and Duk-Kyun Woo
(email: firstname.lastname@example.org) are with S/W & Content Research Laboratory, ETRI, Daejeon, Rep.
A device driver is a software component which provides an
interface between the operating system and specific hardware
devices, such as terminals, disks, and network media. However,
as device drivers are critical and low-level system codes, they
are difficult to implement. Also, they have been noted as a
major source of system faults. To overcome these problems, a