|| ||Julia Lawall <julia-AT-diku.dk> |
|| ||cocci-AT-diku.dk |
|| ||version 0.2.5 released |
|| ||Sun, 3 Apr 2011 15:44:12 +0200 (CEST)|
|| ||Article, Thread
Coccinelle is a tool for matching and transformation of C code. Coccinelle
is well suited for automating low-level evolutions, such as updating the
use of APIs, and for bug finding. Examples are available on the Coccinelle
web site (http://coccinelle.lip6.fr/). A number of bug-finding rules are
also available in the Linux kernel source code (versions since 2.6.36) in
the directory scripts/coccinelle.
Version 0.2.5 of Coccinelle has been released and is available at
http://coccinelle.lip6.fr/download.php. The most significant change is
that Coccinelle now makes a very minimal attempt to parse C++ code. We
hope to further improve the support for C++ in the near future.
Some other new features are as follows:
* Support for iteration of a semantic patch over a code base. This can be
useful for performing simple interprocedural analyses. An example is
found in demos/iteration.cocci. The specification of the iteration
process must currently be done in an ocaml script.
* Improved treatment of #endif, __attribute__((...)), #undef, and arrays.
* Added the "field list" metavariable type and the "metavariable"
metavariable type. The latter can be used when knowing whether a
metavariable represents an expression, statement, etc is not necessary
for parsing the SmPL code.
* Allow transformation on variable declarations declaring multiple
variables in some cases. More information about this is available in the
entry "More that one variable in decl error" in the wiki
The complete set of changes is available at
to post comments)