Coccinelle (ソフトウェア)

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

Coccinelle
最新版
1.0.7 / 2018年8月31日 (2018-08-31)
リポジトリ
プログラミング
言語
OCaml, Python
サポート状況 Active
種別 静的コード解析
ライセンス GNU GPL v2
公式サイト coccinelle.lip6.fr

マッチングや変換されるソースコードは、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日閲覧。

外部リンク

This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.