|| ||Julia Lawall <julia-AT-diku.dk> |
|| ||cocci-AT-diku.dk |
|| ||release of version 0.2.4 |
|| ||Fri, 19 Nov 2010 21:55:01 +0100 (CET)|
|| ||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.4 of Coccinelle has been released and is available at
http://coccinelle.lip6.fr/download.php. Some of the new features in this
version are as follows:
* Python or Ocaml script rules can have names and can declare
identifier metavariables that can be inherited by subsequent SmPL rules.
* Several new types of metavariables have been added: declaration, field,
struct, and enum. The latter two match any expression of structure type
or enum type, respectively. Furthermore, the only typed expression
metavariables that match a sizeof expression are those with type size_t,
and the only typed expression metavariables that match a pointer
difference expression are those of type ptrdiff_t.
* Array initializers and enum declarations can now be matched.
* Coccinelle is compatible with Python 2.7
* The option -recursive_includes causes Coccinelle to recursively unfold
* There have been some improvements in type inference and pretty printing
for C code.
* Indexing using id-utils is now supported
The complete set of changes is available at
to post comments)