Coccinelle (ソフトウェア)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動: 案内検索
Coccinelle
最新版 0.2.5 / 2011年4月3日(3年前) (2011-04-03
最新評価版 1.0.0-rc15 / 2012年8月16日(2年前) (2012-08-16
プログラミング言語 OCaml, Python
サポート状況 Active
種別 静的コード解析
ライセンス GNU GPL v2
公式サイト coccinelle.lip6.fr
テンプレートを表示

Coccinelle (フランス語テントウムシ) は、プログラミング言語のC言語で書かれたプログラムのソースコードのマッチング及び変形英語版を行うためのツールである。Coccinelleは当初Linuxの進化を助けるために使用された。それにおいて、関数の改名、何らかのコンテキストに依存した値の引数の追加、データ構造の再編のような、ライブラリのAPIの変更することを支援している。このツールはオープンソースライセンスの基で自由に使用可能である。

マッチングや変換されるソースコードは、C言語にとても良く似たパターン(セマンティックパッチ言語)を使用して指定される[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)

開発[編集]

サポートはIRILL英語版により提供されており、Coccinelleの開発資金提供は Agence Nationale de la Recherche英語版 (フランス)、Danish Research Council for Technology and Production Sciences及びINRIAにより提供されている。

出典[編集]

  1. ^ Valerie Henson (2009年1月20日). “Semantic patching with Coccinelle”. Linux Weekly News. 2011年4月25日閲覧。
  2. ^ Wolfram Sang (2010年3月30日). “Evolutionary development of a semantic patch using Coccinelle”. Linux Weekly News. 2011年4月25日閲覧。

外部リンク[編集]