netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2008-07-05 [長年日記] ▲
_ [読書] オブジェクト指向設計は直観的? ▲
CACM Vol.51 No.5の記事に,オブジェクト指向設計のときに使う用語の意味と,日常生活での常識的な感覚にずれがあるので,それがミスにつながる,という話が出てました.
たとえば,継承関係は「抽象クラスを継承して具象クラスを作る」のに対し,単語の使い方として「たくさんの財産,知識などを持ってる人から,それを継承する」という感覚があるため,うっかりメンバーの多い具象クラスからメンバーの少ないクラスを派生させようとしてしまう,というのが起こるようです.
まあ,「自然に考えられる」パラダイムであっても,直観に頼らずに落ち着いて考えましょう,という程度のことなのかもしれませんが.
2008-07-23 [長年日記] ▲
_ [近況] WODA 2008 参加メモ ▲
WODA 2008に発表付き添いで参加してきました.このワークショップには初参加だったので,ちょっとしたメモだけ残しておきます.
WODA は,mini-conference 形式というか,発表+質疑応答で,最後にちょっとディスカッション時間があることを除けば普通に発表するだけのタイプのワークショップでした.これまで ICSE 併設だったのが今回から ISSTA 併設になったのは,ワークショップ自体の規模が小さいこと,動的解析とテストまわりの話の相性がいいこと,といった理由があったそうです.
参加人数は最初の時点で24人,数えた中では31人のタイミングがありました.投稿は23本で11本採録でした.発表ネタとしては,プログラム理解,最適化,テスト関係,Specification Mining,Fault Localization など,動的解析でソフトウェア工学寄りな話が多かったように思います.ワークショップの名前の通り,動的解析やってる有名な人が一通り含まれているので,発表する場としては良さそうなワークショップだと思います.
2008-07-24 [長年日記] ▲
_ [論文] プログラムの読みやすさ ▲
ISSTA 2008 で Ditinguished Paper を取った,A Metric for Software Readability という論文が,かなり面白いです.発表を聞いて,論文をざっと眺めただけですが.
120人の学生に,様々な Java のコード断片を提示し,読みやすさで1〜5の点数をつけてもらって,コードの1行の長さの平均とか,1行あたりの識別子の数の平均とか,ピリオドの数とか,色々な指標のどれが効いているかを調べています.可読性の判断は,人によって分かれるかというとそうでもなく,「読みにくいコードは,誰にとっても読みにくい」ようです.
多数の指標に対して descriptive power を計算していて,1行あたりの識別子の数の平均,行の長さあたりが一番効いてくるらしい,としています.このあたり,今までの経験則の裏づけに近いところでもあります.実際は,複数の指標が1つの性質を反映してるようなので,ここから可読性の自動計測ツールに進むには,実際にどの指標を使えばいいのか,調査が必要なようです.
指標の種類が十分でない可能性とか,評価者の好みに偏りがある可能性とかはありますし,また,コードの可読性が開発者に依存するのか,それとも問題が複雑ならコードも複雑になるのか,といった疑問も多く残りますが,この手の話が好きな人は,とりあえず読んでおいて損がない論文だと思います.