第29回 Cocoa勉強会でclangの静的解析の話をしてきた
とりあえず自分の資料は「clangでObjective-Cプログラムを静的解析」として公開しとく。clangのscan-buildコマンドで、Objective-Cプログラムを静的コード解析してメモリリークなどのバグが見つけられたりするという、マユツバなようで本当の話。
水曜日あたりにStepwise経由で"Noodlings » New Tool On The Block: The LLVM/Clang Static Analyzer"を見て、おもしろそうなので発表することに。cfe-dev MLにやたらと"static analyzer"という語が飛び交っているのには気づいていたけれど、ちゃんと読んでなかったので、ここまで動作するものだとは思っていなかった。
なかなか面白いので、手元にObjective-C/Cocoaのプログラムある人は試してみるといいと思うよ。
PDFでスライドを公開しても反応が薄いよう(前回のSIMBLはけっこー自信あったのに)なので、HTML資料をちゃんと書いてからスライドつくることにした。資料はさくっと書けたので、スライドはRabbit製にしてみた。ちょうど今、MacPortsパッケージのほうをいろいろ構成いじってるので、その検証も含めて。
手元のRuby 1.8.7-p22とRuby-Gnome 0.17.0-rc1だとアレなので、テーマ中に
GC.disable
といれるという大冒険。これで問題なく動いた。
てきとーPortfile
バイナリのcheckerをダウンロードすればすぐ使えるけれど、そんなときでもPortfile
# $Id: $ PortSystem 1.0 name clang-checker version 60 revision 0 categories devel maintainers kimuraw description LLVM/Clang Static Analyzer long_description LLVM/Clang Static Analyzer homepage http://clang.llvm.org/StaticAnalysis.html master_sites http://keeda.stanford.edu/~kremenek/checker/ use_configure no build {} destroot { xinstall ${worksrcpath}/ccc-analyzer ${destroot}${prefix}/bin xinstall ${worksrcpath}/clang ${destroot}${prefix}/bin xinstall ${worksrcpath}/scan-build ${destroot}${prefix}/bin xinstall ${worksrcpath}/sorttable.js ${destroot}${prefix}/bin } distname checker-${version} worksrcdir ${distname} checksums md5 78b2d77f4a12d4f09ecec7bf69e8504a \ rmd160 acebdae2755447cdbb21881ef86d84effc01c1f0 \ sha1 daaf5d2d508e7b390ed4fdafd4b3c7c3088d8f66
| 固定リンク
最近のコメント