Miscellaneous

Coccinelle

This is the title of my project, that I’ll be working on this winter as a Gnome Linux Kernel Intern.

This blog post is the introduction about my project and what all I’ll be doing in it.

Coccinelle is a program matching and transformation tool for C code that has been used extensively in contributing to the Linux kernel, for both code evolutions and bug fixes. Coccinelle is driven by specifications, known as semantic patches, that use a notation based on C code, and are this fairly easy to develop. Around 40 semantic patches are included with the Linux kernel source code, in scripts/coccinelle, and are used in the continuous testing service provided by Intel.

Recently, Coccinelle is used in an extensive study of faults in Linux 2.6. The goal of my project is to extend the results to more recent versions of Linux, and to facilitate the extension of the work to subsequent versions. This will entail:

1. Reviewing existing results. : Plan.

2. Running the Coccinelle scripts that have been developed to collect data.

3. Evaluating the resulting reports to identify real bugs and false positives.

4. Submitting patches to the Linux kernel to fix the identified real bugs that are still present in the kernel.

5. Updating a database with the results.

6. Creating graphs to summarize the results.

The big plan is here.

Stay tuned for the progress. 🙂

Advertisements

22 thoughts on “Coccinelle

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s