netail.net
自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.
最近のお知らせ (古いものはこちら)
2006-12-08 [長年日記] ▲
_ [論文] AOPはモジュール性に問題あり? ▲
Friedrich Steimann: The Paradoxical Success of Aspect-Oriented Programming. [ACM site]
ACM SIGPLAN Notices, Volume 41, Issue 10 (Proceedings of OOPSLA 2006), pp.481-497.
AOPは問題をうまく規定しているけど解決はしてないんじゃないか,というエッセイです.AOPは「横断的関心事をモジュール化する」と言いつつも,今までのモジュールを壊してるから "paradoxical" だとしています.
AOPの特徴である obliviousness と quantification を達成しようとすると,アスペクトが fragile pointcut problem のような問題を抱えてしまい.これでは「モジュールごとに独立して開発できる」というモジュールの意味がない,というのが著者の考えのようです.
アスペクトとしてコードを分離しても,元あった場所から分離したところへのデータ依存がなくなるわけではないし,アスペクトがデータに勝手にアクセスするというのはせっかくのアクセス制御を無視している(データをグローバル変数化してしまう)し,いつアドバイスが実行されるか分からないのは制御フローの予測しやすさを奪っている,といったように,ソフトウェア工学の側面から問題点を指摘しています.
AOPの効果を疑わしく思う立場から書かれていて,AOPのメカニズムやカプセル化破壊のような問題から感じられる(私だけかもしれませんが)「気持ち悪さ」をうまく説明してくれていると思います.
Appendix として,モジュール性を取り戻すために,ということでXPIやOpen Modulesなどの研究が整理されているので,この種の研究を調べるときの開始点としてもよさそうです.
2006-12-07 [長年日記] ▲
_ tdiary 2.1.4 に移行してみました ▲
tDiaryの脆弱性に関する報告(2006-11-26)を受けて,2.1.4+修正パッチに更新してみました.
2.1.3 のときと比べると,recent-comment と recent-list のHTML要素が変わってるようなので,スタイルシートも少し調整してます.
2006-12-05 [長年日記] ▲
_ [ツール] インターネットディスクを使ってみることに. ▲
新しいノートPCにしてから,バックアップ用のUSBハードディスクが電力不足らしき症状のため動いてくれないので,ジャストシステムのインターネットディスクをバックアップ用に使うことにしました.
オンラインストレージの比較を見てたら他にも似たようなのはいくらかあるようなんですが,利用規約が読みやすい位置にあって,サービス中断が起きないように努力してる(24時間以上途切れたら料金割引の補償あり)のが分かりやすかったことから選んでみました.
提供されている同期ツールは,単純にPCの特定のディレクトリをサーバ上にミラーするだけのシンプルなもののようです.ただ,手動ツールでアップロードしたファイルについては同期が取れてない扱いに判定されたり,同期ツール側ではディレクトリ内のすべてのファイルの同期を取るかあるいは完全に操作をキャンセルする以外の選択肢はなかったり(特定のファイルだけを個別にダウンロード・アップロードして部分的に同期を取ることができない)と,もうちょっと同期ツールと手動ファイル操作ツールで連携をしてほしい感じはします.
同期できるのが1ディレクトリ以下に限定されるので,作業ディレクトリの配置をどうするかはちょっと見直す必要がありそうですが,更新が頻繁に発生するものを手軽にバックアップするという用途ではそれなりに快適に使えそうです(こちらのネットワークの都合で通信速度があまり出ないので,すごく快適とはさすがに言えません).
2006-12-02 [長年日記] ▲
_ [お知らせ][hyCalendar] hyCalendar 1.5.0 リリース ▲
変更点は日数をカウントダウンできるようになったこと,期間予定の端の矢印の有無が選択可能になったことです.例によって,アップデートする前には必ずデータのバックアップを取ってください.
β版からは操作などがいくらか変わっています.また,周期予定では「次の○○まであとX日」という表記でしたが,「次の」は取り除きました.
これで,現時点で入れたい機能は一通り入った感があります.
今後の予定として,Google Calendar 等との相互運用性については検討していたりします.ただ,RFCを読んでいると,hyCalendar では扱えない時刻の取り扱いがRFC側では規定されていたり,hyCalendar の周期予定はRFC側の記載では表現が難しかったりするので,落としどころが見つかるまで時間がかかると思います.
2006-12-01 [長年日記] ▲
_ [論文] 開発者は作業中にどんな疑問を持つか ▲
Jonathan Sillito, Gail C. Murphy and Kris De Volder: Questions Programmers Ask During Software Evolution Tasks. [ACM site]
Proceedings of the 14th Symposium on Foundations of Software Engineering (FSE 2006), pp.23-33, Portland, Oregon, USA, November 2006.
開発者がソフトウェアの変更作業中にどんな情報を知りたがるのかを調べてみた,という論文です.
開発者が作業中に抱いた疑問を次のような4カテゴリに分類しています: (1)理解の基点となる場所を見つける,(2)基点を中心に作業に関連してそうなものを見つける,(3)見つけた一連の要素(subgraph)がどんなものかを理解する,(4)それが別の一群の要素とどんな関係にあるかを理解する.
開発者は,自分が持っている高い抽象度の疑問に対して,それをツールが答えられるようないくつかの低い抽象度の質問に分解して,ツールから答えを得て,元の質問に関係ない情報を排除して(必要ならさらに追加の情報集めをして),得られた情報から元の質問に対する答えを割り出す,という一連の作業をしており,ツールは開発者の作業を十分にサポートしているとは言えない,と指摘しています.
ソフトウェア開発支援ツールはどうあるべきか,みたいな話をするときや,提案しようという理解支援系ツールの位置づけを整理するのに良い論文だと思います.
(追記) 文献が参照しやすいように今後はDOIリンクを付けるようにします.
2006-11-28 [長年日記] ▲
_ [論文] ArgoUML の解析が流行中? ▲
今年5月のMSR 2006 の予稿集をいくらか調べていたら,多くの論文が ArgoUML を解析対象にしているようです.みんなで同じものを相手にすれば比較しやすいので,ありがたいことですが…….
さすがに1つだけだと validity の都合もあるので,次の文献では,ArgoUML と Columbia,jEditの3つを解析対象にしてました.Columbia も別の論文で名前を見たことがあるので,やはり解析実験の対象として手ごろなようです.
Sunghun Kim, Kai Pan, E. James Whitehead, Jr.: Micro Pattern Evolution. MSR 2006, pp.40-46.
この論文は,クラスがどのマイクロパターン(提案した人のサイトはこちら)に該当するかをバージョンごとにチェックしています.コードが変更された結果,クラスのパターンがどう変化したか(あるいはそのパターンのままか)という情報と,バグの混入しやすさの関連を調べてます.OOPSLA論文のパターンカタログの定義には入ってない Limited Self というのが1つ無造作に加わってるのは謎です.
変更するコードによって,(この人が定義している言葉での)バグの混入しやすさには偏りがあるという点は,けっこう面白いと思います.
2006-11-27 [長年日記] ▲
_ [近況] 停電してました ▲
積雪のため休校,かつ未明から午後3時頃まで大学ほぼ全体で停電してました.部屋の暖房が止まったのは元々の断熱性の高さで何とかなってましたが,CSのサーバ群などは室温上昇のため,告知用のwebサーバと外部への経路を残して停止してたようです.
今回は水・食料を買い置きしておくことの重要性をちょっと認識しました(そこまで考えずに買い置きしてあったんですが).
_ Python Challenge の Level 19 で ▲
どうしても言葉が聞き取れなくて詰まっていたんですが,同じものがたまたまflashで使われていたことから解けました.
この Challenge のために Python を少しかじって以来,結局使ってないです…….20以降はまたそのうちやってみることにします.
_ はやし [MSR Challenge のお題に含まれているからではないでしょうか? >ArgoUML See also: ht..]
_ いしお [そうみたいですね.ご指摘ありがとうございます. 皆で同じものを相手にすれば,デモも議論もやりやすいでしょうし,面白い..]