Skip to main content
Article
Recommending code changes for automatic backporting of Linux device drivers
ICSME 2016: Proceedings of the 32nd IEEE International Conference on Software Maintenance and Evolution, Raleigh, NC, October 2-7, 2016
  • Ferdian THUNG, Singapore Management University
  • Xuan Bach D. LE, Singapore Management University
  • David LO, Singapore Management University
Publication Type
Conference Proceeding Article
Version
acceptedVersion
Publication Date
10-2016
Abstract

Device drivers are essential components of any operating system (OS). They specify the communication protocol that allows the OS to interact with a device. However, drivers for new devices are usually created for a specific OS version. These drivers often need to be backported to the older versions to allow use of the new device. Backporting is often done manually, and is tedious and error prone. To alleviate this burden on developers, we propose an automatic recommendation system to guide the selection of backporting changes. Our approach analyzes the version history for cues to recommend candidate changes. We have performed an experiment on 100 Linux driver files and have shown that we can give a recommendation containing the correct backport for 68 of the drivers. For these 68 cases, 73.5%, 85.3%, and 88.2% of the correct recommendations are located in the Top-1, Top-2, and Top-5 positions of the recommendation lists respectively. The successful cases cover various kinds of changes including change of record access, deletion of function argument, change of a function name, change of constant, and change of if condition. Manual investigation of failed cases highlights limitations of our approach, including inability to infer complex changes, and unavailability of relevant cues in version history.

Keywords
  • Backporting,
  • Device Drivers,
  • Linux,
  • Recommendation system
ISBN
9781509038060
Identifier
10.1109/ICSME.2016.71
Publisher
IEEE
City or Country
Piscataway, NJ
Copyright Owner and License
Authors
Creative Commons License
Creative Commons Attribution-NonCommercial-No Derivative Works 4.0 International
Additional URL
https://doi.org/10.1109/ICSME.2016.71
Citation Information
Ferdian THUNG, Xuan Bach D. LE and David LO. "Recommending code changes for automatic backporting of Linux device drivers" ICSME 2016: Proceedings of the 32nd IEEE International Conference on Software Maintenance and Evolution, Raleigh, NC, October 2-7, 2016 (2016) p. 222 - 232
Available at: http://works.bepress.com/david_lo/315/