Coccinelle was initially used to aid the evolution of the Linux kernel, providing support for changes to library application programming interfaces (APIs) such as renaming a function, adding a function argument whose value is somehow context-dependent, and reorganizing a data structure.
Therefore coccinelle's role is close to that of static analysis tools.
Examples of such use are provided by the applications of the herodotos tool, which keeps track of warnings generated by coccinelle.
Funding for the development has been provided by the Agence Nationale de la Recherche (France), the Danish Research Council for Technology and Production Sciences, and INRIA.
[4] The Semantic Patch Language (SmPL) pattern resembles a unified diff with C-like declarations.