Fast and Precise Retrieval of Forward and Back Porting Information for Linux Device Drivers
Porting Linux device drivers to target more recent and older Linux kernel versions to compensate for changes in the kernel interface is a continual problem for Linux device driver developers. Acquirin …
Talk Title | Fast and Precise Retrieval of Forward and Back Porting Information for Linux Device Drivers |
Speakers | Julia Lawall (Senior Researcher, Inria/LIP6/Sorbonne University) |
Conference | Open Source Summit Europe |
Conf Tag | |
Location | Prague, Czech Republic |
Date | Oct 21-27, 2017 |
URL | Talk Page |
Slides | Talk Slides |
Video | |
Porting Linux device drivers to target more recent and older Linux kernel versions to compensate for changes in the kernel interface is a continual problem for Linux device driver developers. Acquiring information about interface changes is a necessary, but tedious and error prone, part of this task. We propose two tools, Prequel and gcc-reduce, to help collect the needed information. Prequel provides language support for querying git commit histories, while gcc-reduce generates Prequel queries from compiler error messages. We have used our approach in porting 33 device driver files over up to 3 years of Linux kernel history, amounting to hundreds of thousands of commits. In these experiments, for 3/4 of the porting issues, our approach highlighted commits that enabled solving the porting task. For many porting issues, our approach retrieves relevant commits in 30 seconds or less.