Installation
Packages exist for several distributions:
- Slackware, thanks to Dimitris Zlatanidis
- Debian, thanks to Eugeniy Meshcheryakov
- Ubuntu See also the Ubuntu package on PPA, which contains a more recent version of Coccincelle.
- Fedora, thanks to Richard W.M. Jones and Michal Schmidt
- OpenSUSE
- Arch Linux, thanks to Sylvain HENRY
- NetBSD, thanks to Thomas Klausner
- FreeBSD
- OpenBSD
- Gentoo
You can find Coccinelle’s source code at GitHub, or clone the repository with:
git clone https://github.com/coccinelle/coccinelle.git
More details available on Coccinelle’s website.
Tutorials
Work in progress, comments welcomed via the following form.
How to use Coccinelle to find bugs:
- Match variable declaration by type
- Match variable usage by type
- Match variable usage by type of structure
- Match variable declaration having the same type as variables sharing a specific name
- Match expression usages if they are assigned to a boolean variable
How to use Coccinelle to fix bugs:
Advanced usages:
Documentation
A detailed specification of SmPL’s grammar here.
The official website page on documentation.
Useful links
Official website
Source Code: https://github.com/coccinelle/coccinelle
Semantic patches examples, use GitHub research tool to find usage examples of different grammatical structures.
Coccinelle’s mailing list, ask your questions there.