No edit summary
|
v.1.0.0-rc3, added official GitHub tracking repository
|
||
Line 4: | Line 4: | ||
| latest release version = 0.2.5 |
| latest release version = 0.2.5 |
||
| latest release date = {{Start date and age|2011|04|03}} |
| latest release date = {{Start date and age|2011|04|03}} |
||
| latest preview version = 1.0.0- |
| latest preview version = 1.0.0-rc3 |
||
| latest preview date = {{Start date and age|2011| |
| latest preview date = {{Start date and age|2011|06|03}} |
||
| programming language = [[Objective Caml]], [[Python (programming language)|Python]] |
| programming language = [[Objective Caml]], [[Python (programming language)|Python]] |
||
| status = Active |
| status = Active |
||
Line 46: | Line 46: | ||
==External links== |
==External links== |
||
* {{Official website|coccinelle.lip6.fr}} |
* {{Official website|coccinelle.lip6.fr}} |
||
* [https://github.com/coccinelle/coccinelle Official release tracking repository] at [[GitHub]] |
|||
* [http://coccinelle.lip6.fr/papers.php Articles describing the use of Coccinelle] |
* [http://coccinelle.lip6.fr/papers.php Articles describing the use of Coccinelle] |
||
Stable release | 0.2.5 / April 3, 2011; 13 years ago (2011-04-03) |
---|---|
Preview release | 1.0.0-rc3 / June 3, 2011; 13 years ago (2011-06-03) |
Repository | |
Written in | Objective Caml, Python |
Type | Static program analysis |
License | GNU GPL v2 |
Website | coccinelle |
Coccinelle (French word for ladybug) is a tool to match and transform the source code of programs written in the programming language C. Coccinelle was initially used to aid the evolution of Linux; with support for changes to library application programming interfaces (APIs) such as renaming a function, adding a function argument which value is somehow context-dependent, and reorganizing a data structure. The tool is freely available under an open source license.
The source code to be matched and/or replaced is specified using a pattern that is very similar to C (the Semantic Patch Language).[1][2]
@@ expression lock, flags; expression urb; @@ spin_lock_irqsave(lock, flags); <... - usb_submit_urb(urb) + usb_submit_urb(urb, GFP_ATOMIC) ...> spin_unlock_irqrestore(lock, flags); @@ expression urb; @@ - usb_submit_urb(urb) + usb_submit_urb(urb, GFP_KERNEL)
Support is provided by IRILL and funding for the development of Coccinelle has been provided by the Agence Nationale de la Recherche (France), the Danish Research Council for Technology and Production Sciences and INRIA.