«前月 最新 翌月» 追記

netail.net

自作フリーソフトや,ゲームに関する雑記を公開してます.
日記はソフトウェア工学の論文ネタが中心です.

最近のお知らせ (古いものはこちら)


2003-02-03 古い日記からの変換データ [長年日記]

_ Java

long 値を保管する Set クラスを探していたら,Primitive Collection for Java を発見.http://pcj.sourceforge.net/

LGPL なので,さっそく使わせてもらうことにする.

_ 紅茶

ディクサム・フルリーフがもうなくなったので,100g補充.最近消費が激しいような気がするのだが,何でだろう.


2003-02-05 古い日記からの変換データ [長年日記]

_ MD

ポータブルMDが謎のエラーを出すようになってしまった.故障のようだが,保証書その他の周辺品をどこへやったか思い出せない.

とりあえず,当座は PDA + マイクロハードディスクでしのぐことにする.

_ Eclipse

今日のはまり.runtime-workspace でログを取り,デバッグworkspaceで解析していたら,eclipse/runtime-workspace/project/logfile にログファイルが生成されていたのにeclipse/logfile にてっきりファイルがあるものと思っていてログを生成しても更新されていない状態になっていた.ログが読めないなーとひたすら調べてたのに…….

_ Libretto

またもや電源アダプタを忘れて,家まで取りに帰ることに.なんか最近多い.

_ Java

PCJ のクラスが「バージョンがおかしい」とロードに失敗するので,ソースを見てみたら assert を使っていた.とういことで,JDK1.4 以降でないとダメらしい.

未だにJDK1.3.1だったので,これを機会に移行する.インストールして,今まで jdk1.3.1 に通していたパスをj2sdk1.4.1_01 に置き換えて移行完了.


2003-02-07 古い日記からの変換データ [長年日記]

_ 日記CGI

日記CGIの記事IDの値がページ数と合わないなーと思ってたら,ID が連番ではなく時々間が抜けていることを思い出した.うーむ.

_ 電話帳

電話帳が更新された.1年くらい前に配置してからまったく動いてなかったらしく,埃が積もっていた旧バージョンと交換.……本当は,インターネットから利用可能なほうが嬉しいんだが.

_

マンションの鍵をカードキーに交換します,という通知が届いた.やっぱりピッキングの被害が多いらしい.

磁気情報を使うカードキーよりは,表面の凹凸で判定するタイプの鍵のほうが嬉しいのだが…….


2003-02-11 古い日記からの変換データ [長年日記]

_ 新ノート

研究室で買ってもらった新しいノートパソコンへ移行.Let's Note CF-T1.名前はrutileとした.今までasteria, wavellite, chrysolite, ときたのでたまには短くしてみた.

キーボードに慣れるまでは大変そう.ポインティングデバイスも変わってしまったし.

_ 読書

茅田砂胡「海賊王の帰還・暁の天使たち3」を読了.ようやく話が全部つながってきた感じ.相変わらず理不尽な登場人物が多いけど.


2003-02-12 古い日記からの変換データ [長年日記]

_ 通販

www.famiget.com でファミコンの稀少なカセットを購入してみる.当然,部室に配送されるように取り計らう.

_ 修士論文

修論の形式的提出のためのファイル作り.といっても表紙にラベルを貼るだけなんだけど,きれいに貼れるかどうかで,無駄に緊張してしまった :-)

_ スパム警告

ノートン・アンチウィルスの新機能だろうか.スパムかも.というメールに「スパム警告」とつけてくれる.ところが,先生からのメールが,学生6人+教官3人に送ったものだったせいか,いきなりスパムと誤認識された.しかし,この認識方式だと,変な転送アカウントから投げられてくるメールは認識できないんではなかろうか.英語のメールについては本文もチェックしてるんだろうけど.

_ 新ノート

TeX,Graphvizあたりの必須ツールを導入.ついでに,Norton Internet Security も導入してみた.


2003-02-13 古い日記からの変換データ [長年日記]

_ Eclipse

Eclipse のコンフィギュレーション情報がおかしいなーと思っていたら,eclipse/workspace/.metadata でなくてuser.home = c:/Documents and Settings/Administratorの中に workspace/.metadata が生成されていた.ユーザごとの設定とマシンごとの設定を分けているのだろうか?調べるのが面倒なので放置しておく.

追記.単にカレントディレクトリで違うだけだった.とほほ.


2003-02-14 古い日記からの変換データ [長年日記]

_

下宿の鍵を交換してもらった.カードキーの磁力が,ものがくっつくくらい強かったのでけっこうびっくり.


2003-02-15 古い日記からの変換データ [長年日記]

_ バレンタイン

モロゾフのチョコレートをもらった.コニャックトリュフは香りがいい感じ.それにしても,包装が,リボンをきちんと結ばずに,下側はテープで止めて,上側は飾りだけをワイヤで留めてるあたり,ちょっと安っぽい印象がある.贈り物にされる前提で売るんだから,もうちょっと気を遣ってほしいものだ.……などと気にするほうがおかしいのかな?

_ Eclipse

Eclipseでは,Runtime Workbenchを別プロセスで立ち上げてプラグインのデバッグができる.これはJDIベースだろうか?

ただ,これを Norton Internet Security がNetMonitorトロイの木馬の攻撃と判断して接続を止めてしまう.とりあえず,NetMonitorをトロイの木馬のデフォルト遮断を判定パターンからはずして回避.


2003-02-16 古い日記からの変換データ [長年日記]

_ マシン売却

Linux でファイルサーバをさせていたNLXマシン wavellite を 15000+ 3d6 x 1000 円で売却.結局20000円になった.代金は後日受け取り.

ディスクの中身だけサルベージしてたら,昔のMLで流れたものを MHonArc かけた奴とか,懐かしいデータを色々発見.


2003-02-17 古い日記からの変換データ [長年日記]

_ 修士論文

修論発表終わり.発表した本人としては反省点が色々だが,後で人の意見を聞いた限りでは,それなりに悪くはなかったらしい.

アブストラクトに得られた知見が書かれていないと指摘を受けたので,それを直すことにする.

「アスペクト指向プログラムをデバッグする際に必要なのは何だと思うか?」と聞かれたが,果たして何だろう.オブジェクト指向をデバッグするのに必要なのは何だろうか…….哲学的な問題に踏み込みそうだが,考えてみると面白そうだ.


2003-02-19 古い日記からの変換データ [長年日記]

_ ネジ

ネジをつぶしてしまったので,ANEX(株式会社兼古製作所)"なめたネジはずしビット"http://www.kouguya.com/anh-065.htmでネジをはずした.ドリルで穴を開けるという単純な機構な分,効果は抜群.

今後はネジをつぶさないようにするために,精密作業用ドライバーもついでに購入してみた.

_ AspectJ

AspectJ本の二冊目が出るらしいので,その情報をサイトに追加.AODP (アスペクト指向によるデザインパターン実装)の話とかも扱われているという噂だが,どうなんだろう.研究室で買ってもらおうかなぁ.


2003-02-20 古い日記からの変換データ [長年日記]

_ 買い物

東急ハンズにクッションカバーを買いに行ったついでに,「わさびチョコ」15入り300円を購入.ポムの樹 心斎橋店で お好み焼き風オムライスを昼食に食べて,おやつは なんばウォークで たいやきのバナナクリームといちごクリーム.

そして,梅田に戻ってから阪急三番街の東方茶藝館へ.香港コーヒーなるものを飲んだ.コーヒーと紅茶が混ざったような味だなーと思ってたら,本当に混ぜたものだったらしい.http://www.coffeehouse.co.jp/coffee/resipi/06.html


2003-02-21 古い日記からの変換データ [長年日記]

_ LaTeX

LaTeX で,表の幅がどうしても広くなってしまう.横方向の位置を指定する lrc のかわりに列幅指定の p を使うと位置指定ができない,と困っていたら,表のセルの中で makebox{幅}{文字列} としていればよかったらしい.

_ Libretto

Librettoを他人に譲渡すべく,ひたすらアンインストール作業.Visual Studio, Office XP, Acrobat, Al-Mail, ...

でも,意外なことに,OS が不安定になったりしないのね.さすが Windows 2000 というべきか.昔は,体験版アンインストールしても ini ファイルにごっそり情報が残ったり,動作がすごく不安定になったりしていたのに…….

_ AspectJ

AspectJ1.1に向けて,SourceLocation.getColumnがdeprecated指定になってしまっていた.バイトコードには行番号は保存されるが,Columnは保存されないので実装できない,ということらしい.まあ,普通は使用しないので問題ないのだが,プログラム解析に利用していた人にとっては痛いかもしれない.


2003-02-22 古い日記からの変換データ [長年日記]

_ 論文

何となく検索してたら見つけた論文.

Doug Palmer: "Dynamic Aspect-Oriented Programming in an Untrusted Environment"

動的アスペクトの世界(JACなど)では,特に分散環境の場合,アスペクトが信頼できるかどうかが重要となる.

で,アスペクトを Wrapper として考えたとき,External Wrapper (事前・事後条件と関係ない)とInternal Wrapper (事前・事後条件を維持する)に分類できる.

External Wrapper はアクセス制御アスペクトなど,メッセージを握りつぶすようなものでもよい.なお,Internal Callに対しては External Wrapper は動作しない.

各メソッドに,事後条件を定義しておくと,Internal Wrapper の終了時点で事後条件を検査し,違反していたら処理をロールバックするような仕組みを導入する,(この処理そのものは Validator アスペクトがやる)というもの.考え方としては妥当な気もするが,Wrapper がInternal かExternal かを決めるのは誰の仕事なんだろう.また,悪意あるExternal Wrapperなんかはどうやって対処するんだろう.ディジタル署名とかかなぁ.いちおう,変なinternal wrapperのせいで振る舞いが壊れる可能性は検出できるのかな? 6ページの短いpaperで実験的な評価がないので詳細は不明.

_ 論文

先の論文で関連研究として挙げていたものは次のとおり.

Software Reconnaissanceテストケースを複数用意して,あるfeatureを「使っている」ケースと「使わない」ケースを用意して,その実行時の違いから Concept Analysis を行う.

BEE++: C++ベースの,分散システムの動的解析フレームワーク.アプリケーションのどこを解析するかは手作業で指定.

ATOM: プログラム解析ツールを作るためのフレームワーク.オブジェクトファイルレベルで行うので,ソース情報は取れない.

Form: 実行時情報取得ツール.実行時のデータからコールグラフを構築する.JVMPI で実装しているので,詳細な情報までは取れない.

_ 論文

久々に論文読み.Thomas Gschwind, Johann Oberleitner:"Improving Dynamic Data Analyhsis with Aspect-Oriented Programming"To appear in Proccedings of the 7th European Conference on Software Maintenance and Reengineering, March 26--28, 2003, Benevento, Italy, Europe

プログラムの実行時解析で,現在利用可能な方法には次のような問題がある.

- トレースを実行するまでに色々手間がかかる.

- トレースをオブジェクトごとに有効にすることができない

- 特定インスタンスやメソッドごとに指定することができない.

- 引数などへアクセスできない.など.

で,筆者らはARE: A Reverse Engineering tool というものをAspectJ を使ってARE の解析モジュールを作成している.AspectJ の利点は,細かいアクセスが設定できること.ここから,オブジェクトごとのアクセストレースを作れる.具体的には, before() call と after() call を使う.

利点は,

- アスペクトは自動的に組み込まれる.

- AspectJ は JIT をオフにしなくてよい(JVMDIに比べて有利).

- Join Points からソースコードへのマッピングが取れる.

- 呼び出しのときの引数へのアクセスや,インスタンスの識別ができる.

- 開発者が対象のソースコードを読まなくてもよい.

- リフレクションを使っていても大丈夫.

- 引数などの情報も取れる.

- 余分な情報をフィルタリングできる.

- 利用が簡単.

動的解析をして,インスタンスを識別したシーケンス図のようなものを作っているだけで,静的解析との組み合わせは将来の課題としている.

やはり,同じことを考える人はいるらしい.


2003-02-24 古い日記からの変換データ [長年日記]

_ AspectJ

AspectJでは,配列変数に対する set(array) の定義はarray[i] = hoge;には反応しないらしい.get(array)だけが動作する.ということは,配列の中身への代入はAspectJ ではトラップできないのかなぁ.

_ 読書

ダシール・ハメット「マルタの鷹」,アン・マキャフリィ,パーンの竜騎士6「竜の太鼓」を読了.

未読本入れにはまだあと9冊.しばらく消化に専念といいたいところだが,紅茶が切れそうなので,それを補充に行くついでに次の本を買ってしまいそうだ.


2003-02-26 古い日記からの変換データ [長年日記]

_ 卒論

先生が忙しいので,かわりに卒論の添削作業.やっぱり論文を初めて書くだけあってか,論説文っぽい感じに陥ってしまっているのでばしばし直す.

自分の論文もこうやって直せないようではダメなんだろうなぁ,と思って自分の投稿用論文も直してたら,この作業だけで1日が過ぎ去ってしまった.


2003-02-27 古い日記からの変換データ [長年日記]

_ 読書

Angel-ArtworksのCD "SWEET" を購入したついでに本屋へ立ち寄り,アン・マキャフリィ「誰も猫には気づかない」を購入.他にも単行本を買ったので,また読書キューが伸びた.

_ 論文

ようやく日本語の論文を投稿.といっても以前にrejectされたものを再投稿しただけだが…….


2003-02-28 古い日記からの変換データ [長年日記]

_ AspectJ

AspectJの,SourceLocation.getFileName が返す形式をどうすべきか,という話が AspectJ-dev に投稿されていた.クラスファイルには Foo.java という感じで,生成ディレクトリの名前が入っていないので(当然だが),バイトコードへのアスペクト結合処理の途中で,今まで getFileName が返していたようなフルパス名を埋め込むことができない,というもの.パッケージ名をディレクトリ階層にして先頭に付けるか,コンパイラに weave 作業しているパス情報を渡すか,と色々考えている様子.

でも,よく考えてみれば,バイトコード中にそのファイルのフルパス名が入っているっていうのは反則に近くて,ファイル移動したら再コンパイルしないといけない.個人的には,パッケージ階層を含めた相対パス形式,つまり foo/bar/Foo.java のような形式で返ってこないかなーと期待しているが,どうなるだろうか.

_ 書類

髪を切りに行こうか,とか考えて支度していたら,事務手続きのための書類作成に研究室に呼び出された.以前提出した勤務日の報告書類で,祝日にも仕事をしていることになっていたらしい.間違えた原因は,その日がちょうど修論提出の前日だったので,みんな作業していたせいで祝日という感覚がまったくなかったせいだろうか…….