きりかノート 3冊め

おあそびプログラミング

CotEditorのソースコードにscan-buildをかけてみた

clang scan-buildによるObjective-Cプログラムの静的解析を、Cocoa製のテキストエディタCotEditor 0.9.4に対して実行し、その結果について(ぼくが)確認しました。その結果を"CotEditor 0.9.4にclang scan-buildで静的解析をかけてみた"というページにまとめました。CotEditorでは、あまり問題が見つからなかったので面白くはないかもしれません。

コードの誤読などあるかもしれませんが、なんらかの参考になればと思います。

感想にも書きましたが、elseのないifについて、通らないパスがありうるということで未初期化などの指摘が多くなる傾向があると思いました。アプリケーションのロジック的には必ずいずれかを通るとわかっていても、現在のscan-buildはそこまで考えたりはしません。逆にそういったパスにも対応しておくことで、防衛的プログラミング的なコードになるので、アプリケーションが堅牢になる可能性もあります。可読性は低下しがちになりますが。

checker-62でIBOutletが考慮されてmissing -deallocが判定されるようになったなど、短期間で改善が進んでいるようです。