Frama-C C言語のソースコードを解析するツール

Frama-CはC言語のソースコードを解析し、おかしいところをチェックしてくれるツール。Ubuntu,Window XP, Mac OSで動作する。またACSLという、ソースコードにコメントの形で付加する行動記述言語も備えており、例えば以下のように関数の前に記述しておくと、この関数の戻り値\resultの値の条件を示しておくことができる。

ソースコードの解析方法は色々なものがあり、それぞれプラグインで提供されており、デフォルトでも実験的なものも含めて16個くらいある。

Windows XPで使うにはmingwとocaml for mingwがインストールされている環境でmsysから使うことができる。解析の際GCCでプリプロセスを実行するため対象のCソースファイルが含むヘッダがないとエラーになってしまう。

実行は、frama-cコマンドまたはframa-c-guiコマンドで行う。以下はサンプルでついてきたwin_iconv.cに対して行った例。

$ frama-c-gui.exe win_iconv.c
[preprocessing] running gcc -C -E -I. win_iconv.c
Parsing
Cleaning unused parts
Symbolic link
Starting semantical analysis


ソースコードにACSLが記述してある場合、プラグインのValViewerによって評価、解析ををすることができる。

Leave a Reply

Your email address will not be published. Required fields are marked *

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)