Recommending code changes for automatic backporting of Linux device drivers

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...

Full description

Saved in:
Bibliographic Details
Main Authors: THUNG, Ferdian, LE, Xuan Bach D., David LO
Format: text
Language:English
Published: Institutional Knowledge at Singapore Management University 2016
Subjects:
Online Access:https://ink.library.smu.edu.sg/sis_research/3612
https://ink.library.smu.edu.sg/context/sis_research/article/4613/viewcontent/icsme_Linux_2016_av.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Institution: Singapore Management University
Language: English
id sg-smu-ink.sis_research-4613
record_format dspace
spelling sg-smu-ink.sis_research-46132020-12-04T03:33:12Z Recommending code changes for automatic backporting of Linux device drivers THUNG, Ferdian LE, Xuan Bach D. David LO, 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. 2016-10-01T07:00:00Z text application/pdf https://ink.library.smu.edu.sg/sis_research/3612 info:doi/10.1109/ICSME.2016.71 https://ink.library.smu.edu.sg/context/sis_research/article/4613/viewcontent/icsme_Linux_2016_av.pdf http://creativecommons.org/licenses/by-nc-nd/4.0/ Research Collection School Of Computing and Information Systems eng Institutional Knowledge at Singapore Management University Backporting Device Drivers Linux Recommendation system Computer Sciences Software Engineering
institution Singapore Management University
building SMU Libraries
continent Asia
country Singapore
Singapore
content_provider SMU Libraries
collection InK@SMU
language English
topic Backporting
Device Drivers
Linux
Recommendation system
Computer Sciences
Software Engineering
spellingShingle Backporting
Device Drivers
Linux
Recommendation system
Computer Sciences
Software Engineering
THUNG, Ferdian
LE, Xuan Bach D.
David LO,
Recommending code changes for automatic backporting of Linux device drivers
description 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.
format text
author THUNG, Ferdian
LE, Xuan Bach D.
David LO,
author_facet THUNG, Ferdian
LE, Xuan Bach D.
David LO,
author_sort THUNG, Ferdian
title Recommending code changes for automatic backporting of Linux device drivers
title_short Recommending code changes for automatic backporting of Linux device drivers
title_full Recommending code changes for automatic backporting of Linux device drivers
title_fullStr Recommending code changes for automatic backporting of Linux device drivers
title_full_unstemmed Recommending code changes for automatic backporting of Linux device drivers
title_sort recommending code changes for automatic backporting of linux device drivers
publisher Institutional Knowledge at Singapore Management University
publishDate 2016
url https://ink.library.smu.edu.sg/sis_research/3612
https://ink.library.smu.edu.sg/context/sis_research/article/4613/viewcontent/icsme_Linux_2016_av.pdf
_version_ 1770573346997534720