Abstract
A key issue in maintaining Linux device drivers is the need to keep them up
to date with respect to evolutions in Linux internal
libraries. Currently, there is little tool support for performing and
documenting such changes.
In this paper we present a tool, spdiff, that identifies common
changes made in a set of files and their updated versions,
and extracts a generic patch performing those changes. Library
developers can use our tool to extract a generic patch based on the
result of manually updating a few typical driver files, and then apply
this generic patch to other drivers. Driver developers can use it to
extract an abstract representation of the set of changes that others
have made.
Our experiments on recent changes in Linux show that the inferred
generic patches are more concise than the corresponding patches found
in commits to the Linux source tree while being safe with respect to
the changes performed in the provided driver files.
to date with respect to evolutions in Linux internal
libraries. Currently, there is little tool support for performing and
documenting such changes.
In this paper we present a tool, spdiff, that identifies common
changes made in a set of files and their updated versions,
and extracts a generic patch performing those changes. Library
developers can use our tool to extract a generic patch based on the
result of manually updating a few typical driver files, and then apply
this generic patch to other drivers. Driver developers can use it to
extract an abstract representation of the set of changes that others
have made.
Our experiments on recent changes in Linux show that the inferred
generic patches are more concise than the corresponding patches found
in commits to the Linux source tree while being safe with respect to
the changes performed in the provided driver files.
Original language | English |
---|---|
Journal | Automated Software Engineering |
Volume | 17 |
Issue number | 2 |
Pages (from-to) | 119-148 |
Number of pages | 30 |
ISSN | 0928-8910 |
DOIs | |
Publication status | Published - Jun 2010 |