«前7日分 最新 次7日分» 追記

netail.net

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

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


2009-07-31 [長年日記]

_ [hyCalendar][お知らせ] hyCalendar 1.6.3 リリース

今回は修正1件だけです.掲示板で指摘をいただきました,日付メモを編集する領域の背景色が白いままで,日付の文字フォント変えたときに文字が見えなくなるという問題に対処しました.

カレンダー領域の背景色をそのまま使うようにしました.背景を黒く,日付メモの色を白に近い色にしている人は更新してご利用ください.該当しない人には何も変化はありませんので,わざわざ更新しなくとも大丈夫です.


2009-07-29 [長年日記]

_ [読書] テスト本いくつか読んでました

ソフトウェアテスト関係は学会にもあんまり出ていなくて,論文もISSTAに出るものを読む程度の身なので,ちょっと基本的な知識を固めるべく,ついでにテスト系の研究ネタに手を出してる学生に良さそうな本を探すべく,知識ゼロから学ぶソフトウェアテストソフトウェアテスト293の鉄則を読んでました.

テストのやり方に関しては,けっこう同じようなことが書かれていた気がします.「知識ゼロから〜」のほうが基本的なテスト手法をカバーしていて,「293の鉄則」のほうがマネジメントに関しての言及が多めで,一緒に読んだのは正解だったかもしれません.

「知識ゼロから〜」は,企業側の話から大学での研究に近い話まで幅広いこと,参考文献が多いことに加えて,うまいテスト方法が確立されていないところや難しいところは率直にそう書かれていることが,優れていると思います.テスト系な研究ネタに踏み込んでいる学生に読ませる本の1つにしておいて間違いなさそうです.


2009-07-16 [長年日記]

_ [近況] 論文の最終原稿作成における注意点

論文集の出版の仕事をやって色々 PDF の扱い方を覚えてきたので, ちょっとカメラレディを投稿する側が余計なトラブルを 回避するための方法をメモしときます.

Adobe Acrobat を使う. フリーソフトウェアである PrimoPDF で作られた PDF は, 通常の用途(単に PDF を作成,公開し,表示・印刷するだけの場合)には まったく問題なさそうなんですが, Acrobat を使ってヘッダ追加 & 複数の PDF を結合,というように 処理を重ねていったときにエラーが出やすいようです. 1段階ぐらいの加工ではエラーが起きなかったので, たぶんほとんどの用途では問題ないツールだと思いますが, 加工段数が多くなったときに突然エラーを出すようになりました. この辺の原因は詳しくは分析してませんが, Acrobat などで作られた PDF と連結していったせいかもしれません.

図をグレースケールにする. Acrobat Professional の「アドバンスト」メニューにある 「プリフライト」機能を使うと, 図がグレースケールになってるかどうか検査し, なっていなければ修正(フィックスアップ)を適用することができます. 出版工程で適当に誰かがグレースケール変換かけますし, 多くの場合はそれだけで大丈夫なんですが, 手元で確認しておいたほうが安全だと思います.

最小フォントサイズに注意する. フォントサイズが非常に小さい図について, 出版社からエラーが起きると指摘されました. エラーが起きた文字以降の原稿がごっそり消えてなくなるので, かなり致命的なエラーです. 情報処理学会の論文誌スタイルの場合,いわゆる添え字(「a_1」)系か 参考文献の番号あたりが最小の4.9ポイントぐらいに相当するようで, これを下回るような微小な文字は危険だと考えておいたほうがよさそうです.小さい文字の出現は「プリフライト」の「デジタルプリンティング」などで列挙してくれます.

フォントを埋め込む. 埋め込んでおかないと,編集者の環境で勝手に違う フォントに変わる可能性があります. 多くの場合は問題にならない程度の変化ですが, フォント置換の結果,見た目が違うと苦情が出るのは 出版側の人として心配になりますので, フォント埋め込んでおくほうがお互い安心だと思います. Acrobat の場合,「印刷」を選んで,Acrobat PDF を 出力する設定を選び,「プレス品質」などを選べば, 普通のフォントは埋め込んでくれます. 変なフォント使ってるとライセンス違反の可能性があるので怖いですが…….

日本国内の場合,A4 サイズであることを確認する. ついうっかり Letter サイズで作っちゃうことがありますので気をつけましょう. どちらかというと,国際会議で Letter 要求されているのに A4 で出してしまうことのほうが多いかもしれませんけど.


2009-05-29 [長年日記]

_ [論文] Island Grammar の作り方とか例とか

ときどき論文の構文解析に関する記述で目にしていた Island Grammar の解説を探してたんですが,1本だけそれらしいのを見つけました: Leon Moonen: Generating Robust Parsers using Island Grammars. WCRE 2001, pp.13-22. [DOI]

Island Grammar の作り方とかが明示的に与えられているわけではなく,興味ある構文要素だけを取りだすように簡略化した文法の総称だったようです.Island Grammar の非形式的な定義としては,元となった文法で受理できる言語よりも広い言語を受理することがあるが,文法が単純化されたもの,となっているようです.興味のある場所を Island,そうでない場所を Water と呼びます.

構文エラーやヘッダファイルの不足,処理系の方言などの問題によって「正しくASTが作れない」状況や,そもそも特定の構文要素にしか興味がない状況において,ソースコードから情報を取り出したい場合に使うものらしいです.

文法の作り方としては,興味のある最小限の言語要素の並び順だけを処理する単純な Lexer & Parser を作成する方法と,通常の文法をもとに興味のない場所をすべて Waterに置き換えていく方法があります.結局,どういう構文要素が,どんな順序で登場すべきか,というのを厳密に書き下す必要があります.

論文では,COBOL の Call Graph を抽出するために CALL 命令だけ取りだすという状況を最初の例に挙げていて,「CALL Id」「MOVE Id TO CALLEE(CALL HANDLER による呼び出し先を動的に決める命令)」は取り出すが「CALL HANDLER」やそれ以外の空白以外の記号などを Water とする,という文法を作ってます.Island Grammar の定義自体には文法をどのクラスで構成するかは制限なしのようですが,この著者はGeneralized LR (GLR) 文法の世界で定義を作っています.GLR 文法を処理できる parser generator には,Elkhound,DMS Software Reengineering Tools や Bison などがあるようです.使ったことありませんが…….

まじめな構文解析をさぼる分,興味のない部分の構文エラーを無視するようになります.ただし,本当は受理しないはずのソースを受理するので,目的に合致した範囲に収まってるかどうかは注意する必要もあるようです.


2009-05-24 [長年日記]

_ [読書] The Annotated Turing

電車通勤になって本を読むぐらいにしか使えない時間が増えたので,Charles Petzold のThe Annotated Turingという本を読んでました.面白かったので,紹介しときます.

文章はチューリング機械について述べられた Alan Turing の論文の文章に注釈や図を追加した形で構成されていて,さらに時代背景や様々な数学の成果との関連まで丁寧に説明しています.論文の展開に合わせて,ドキュメンタリーのように読める文章になってます.

チューリング機械が最初に登場した論文を扱っている都合上,数値などが計算可能(Computable)かどうか,Enumerableかどうかという話が中心です.授業でチューリング機械が登場する場面ではNP完全とかの概念も出てきそうですが,そのあたりについては取り扱っていません.

計算機におけるプログラミングとの関連などにも言及しているので,情報系の授業をある程度受けている人が,数学とのつながりなどの知識を楽しみつつ補強できる読み物という感じでした.


2009-05-09 [長年日記]

_ [hyCalendar] Vista 用スケジュール表示ガジェット試作品

hyCalendar の「今日と翌日」スケジュールを表示するVista用のガジェットを試作してみました.2時間で作ったものなので,作りは粗いかもしれませんが,hyCalendar-gadget.zipとして公開しておきます.

このガジェットは,内部で hyCalendar のエクスポート機能を呼び出し,出てきたファイルを読み込んで表示するだけです.hyCalendar.exe のパスや表示したいファイルのパス情報だけでなく,Shell.Execute 実行が終了するまで500ミリ秒待つとかいった条件まで,色々とハードコーディングされてます.似たようなものを作ろうとしてる人には,コードも参考になるかもしれません.


2009-04-30 [長年日記]

_ [近況] ICSE出張は禁止

うちの大学では,豚インフルエンザ感染者が発見された国,感染した疑いがある人がいる国への渡航は原則禁止になりました.渡航した場合は帰国後一週間は自宅待機となり,授業とかで大幅に支障が出るので,ちょっとICSEへの参加は無理そうです.今回の duty は ICPC のツールデモだけなので,渡航できなくても,私はそれほど被害はありませんが…….

他の大学でも似たような状況なんでしょうか.