Coccinelle (ソフトウェア)
表示
最新版 |
1.0.7
/ 2018年8月31日 |
---|---|
リポジトリ | |
プログラミング 言語 | OCaml, Python |
サポート状況 | Active |
種別 | 静的コード解析 |
ライセンス | GNU GPL v2 |
公式サイト |
coccinelle |
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により提供されている。
出典
[編集]- ^ Valerie Henson (2009年1月20日). “Semantic patching with Coccinelle”. Linux Weekly News. 2011年4月25日閲覧。
- ^ Wolfram Sang (2010年3月30日). “Evolutionary development of a semantic patch using Coccinelle”. Linux Weekly News. 2011年4月25日閲覧。