Prequel

The commit history of a code base such as the Linux kernel is a gold mine of information on how evolutions should be made, how bugs should be fixed, etc. Nevertheless, the high volume of commits available and the rudimentary filtering tools provided mean that it is often necessary to wade through a lot of irrelevant information before finding example commits that can help with a specific software development problem. To address this issue, we propose Prequel (Patch Query Language), which brings the descriptive power of code matching to the problem of querying a commit history.

Download

git clone https://gitlab.inria.fr/lawall/prequel-pql.git

Documentation

Prequel: A Patch-Like Query Language for Commit History Search
Julia Lawall, Quentin Lambert, Gilles Muller
Inria Research report 8918 (Slides).

Fast and Precise Retrieval of Forward and Back Porting Information for Linux Device Drivers
Julia Lawall, Derek Palinski, Lukas Gnirke, and Gilles Muller
USENIX ATC 2017.

Contact

Julia . Lawall @ inria . fr

Support

The development of Prequel was supported in part by OSADL, as part of the SIL2LinuxMP project.

Examples

Various experiments using Prequel derived from the paper presented at USENIX 2017 are available here.

Followup work

Spinfer is a tool for inferring semantic patches from examples:

SPINFER: Inferring Semantic Patches for the Linux Kernel
Lucas Serrano, Van-Anh Nguyen, Ferdian Thung, Lingxiao Jiang, David Lo, Julia Lawall and Gilles Muller
USENIX ATC 2020