Semantic Patch Inference
Speaker(s) : Jesper Andersen
Title: ------ Semantic Patch Inference
Abstract: -------- A key issue in maintaining Linux device drivers is the need to update drivers in response to evolutions in Linux internal libraries. The program transformation and query engine provided by Coccinelle provides a language in which such updates (called semantic patches) can be specified. However, getting the specification right can be tricky.
In this talk I will present a tool, spdiff, that identifies common changes made in a set of pairs of files and their updated versions, and extracts a semantic patch performing those changes. Library developers can use our tool to extract a semantic patch based on the result of manually updating a few typical driver files, and then apply this semantic patch to other drivers. Driver developers can use it to extract an abstract representation of the set of changes that others have made.
This talk will provide an overview of the underlying formalization and two algorithms that have been implemented in the spdiff tool.