コンテンツにスキップ

英文维基 | 中文维基 | 日文维基 | 草榴社区

Coccinelle (ソフトウェア)

出典: フリー百科事典『ウィキペディア(Wikipedia)』
Coccinelle
最新版
1.0.7 / 2018年8月31日 (6年前) (2018-08-31)
リポジトリ ウィキデータを編集
プログラミング
言語
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日閲覧。

外部リンク

[編集]