日本ソフトウェア科学会「コンピュータソフトウェア」誌「レター論文」

http://www.jssst.or.jp/prod/computersoftware.html

速報性を重視して査読する「レター論文」という新しい仕組みができました。

http://www.jssst.or.jp/prod/submission.html

レター論文:査読者 1名による査読を行い,「照会後判定」は行わず, 一度の査読で採否を判定します. 刷り上がりで 6ページ以下の速報性を重視した論文です。 レター論文(あるいは、従来の小論文)を発展させたものは通常論文 として投稿可能です.

(小論文は2009年6月4日に廃止されました.)

詳しい説明は8月号(26巻3号1-4頁)に載っています。

関連研究との比較や評価などは通常論文ほどには重視しません.

(強調原文)
P.S. ソフトウェア論文も引き続き宜しくお願いします。

P.P.S. 8月号には、中島震氏によるAlloyの紹介記事や、村田真氏によるコラム等も載っています。

Springer LNCS

9月7日から開催される学会の予稿集論文のカメラレディ原稿を、正規の締め切りである6月22日に提出したところ、日本時間7月17日(金曜日)23時16分に校正依頼があり、7月20日(月曜日*1)締め切り厳守とのこと。その校正原稿は

  • カメラレディ原稿では厳密に番号でソートされていた複数引用(例:[1,2,3])が、すべてTeXソース上の出現順序(例:[2,3,1])に変わっている
  • カメラレディ原稿では完全に統一されていた参考文献の表記が変更され、(同一の対象でも)正式名称と略称が混在している
  • カメラレディ原稿では正確に調整されていた数式のレイアウトが変更され、式の上に別の式が大きく重なっている

という状態である。すぐに修正を要望したが、まだ一度も返信はない(約一週間後に催促したが、その返事もない)。出版社の連絡先メールアドレスのドメインsps.co.inである。

P.S. 1番目と3番目は実際の予稿集では訂正されていた。2番目はデータベースの都合(?)らしい。

*1:日本では祝日(海の日)

Active Xコントロール開発用ライブラリに脆弱性

http://www.microsoft.com/japan/technet/security/bulletin/MS09-035.mspx

よくコード署名に対するproof carrying codeの長所として
http://www.research.att.com/~trevor/PCC2000/panel.html

ANDREW: Signed signatures on device drivers are a way of helping with malicious device drivers, not buggy ones.

(強調筆者)
のようなメリットが挙げられますが、まさに「そのもの」のようです。すでに更新が停止しているActiveXコンポーネントも多いと思うのですが(というか更新されないほうが普通?)、大丈夫なのでしょうか…

本当はむずかしいハッシュテーブル

某所より自己転載。数え方にもよりますが、レベル1からレベル3まで、三つぐらい罠があります。(これは解説する予定はありませんが、他の方の解答・コメントは歓迎します。コメント、トラックバック、ブックマークはネタバレ有りです。念のため。

次の内部ハッシュの実装(C言語のプログラムの一部)には誤りがある。誤っている部分を正しく修正せよ。ただし、Bはハッシュ表のサイズ、hashはハッシュ関数である。ハッシュ表の要素は正の整数とし、要素の個数はハッシュ表のサイズBより小さいとする。

#define EMPTY 0
int h[B];

/* ハッシュ表hを空にする */
void clear() {
  int i;
  for (i = 0; i < B; i ++) {
    h[i] = EMPTY;
  }
}

/* 要素xをハッシュ表hに追加 */
void insert(int x) {
  int i = hash(x);
  while (h[i] != EMPTY) {
    i = (i + 1) % B;
  }
  h[i] = x;
}

/* 要素xをハッシュ表hから削除(xがhにない場合は考えなくて良い) */
void delete(int x) {
  int i = hash(x);
  while (h[i] != x) {
    i = (i + 1) % B;
  }
  h[i] = EMPTY;
}

/* 要素xがハッシュ表hにあれば1を、なければ0を返す */
int member(int x) {
  int i = hash(x);
  while (h[i] != x) {
    if (h[i] == EMPTY) return 0;
    i = (i + 1) % B;
  }
  return 1;
}