netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2003-11-08 古い日記からの変換データ [長年日記] ▲
_ 論文 ▲
OOPSLA2003から.
Bruno Dufour, Karel Driesen, Laurie Handren and Clark Verbrugge:Dynamic Metrics for Java
Java 用の動的メトリクスの話.
動的メトリクスでは,次のような要求がある.
・あいまいでないこと.LOC などは,空行やコメントを数えるのか,といった点であいまいである.
・実行時にしか取れない情報を表現していること.
・プログラムの振る舞いの変化が小さいならメトリクスの変化も小さく,変化が大きいならメトリクスの変化も大きいことが望ましい.
・異なるプラットフォーム上でも変化しないこと.
また,メトリクスの種類としては,次のようなものがある.
・数値.
・パーセンテージ.
・Bins (「1回,2回,3回以上」といった区分に振り分けること)
で,色々なメトリクスをカテゴリに区分していて,size, structure, memory, polymorphism, data の五つで,ベンチマークごとにどのような値を出したか,最適化がどのような影響を与えたか,といったことを議論している.
JVMPI を使って計測フレームワークを実装していた.そのうち,動的メトリクスを計る場合は役立つかも?
_ 論文 ▲
OOPSLA2003 の論文を読む.portal.acm.org で Proceedings と Companions (Poster, Panel など) が両方ともOOPSLA'03 という名前で出ていたせいで発見が遅れた.
Tian Zhao, Jens Palsberg, Jan Vitek:Lightweight Confinement for Featherweight Java
Confinment とは,あるパッケージの内部だけで使用されて,外側からはアクセスされることのないオブジェクトのこと."this" を引数として渡さないこと,public なフィールドとして宣言されていないこと,などが条件となる.コレクションクラスなど,親クラスにキャストされてしまう問題を無視するならかなりの数が confined になるらしい(この特性をGeneric confined と呼んでいる).型推論とかでできるだけ決定していく,というのをGeneric Featherweight Java 上で行っている.
_ PenStyle ▲
どうやら Windows のペンスタイル(点線など)は,24 ピクセル周期になっているみたい.……激しくプラットフォーム依存なコードを書いてしまった.
でもこれで複数のセルをまたいだときに点線の接続が変になるのを防ぐことができる.