« 第1回 「詳解 Objective-C 読書会」行ってきた | トップページ | 最近のMacPorts関連の行動 »

2008.07.13

第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

|

« 第1回 「詳解 Objective-C 読書会」行ってきた | トップページ | 最近のMacPorts関連の行動 »