プログラミング言語系(計算機科学系?)学会の流れ

ICFPやらPOPLやらPLDIやら出てきて、そういう「学会」(組織ではなく会議のほう)がどういうものなのか、この分野で研究をした経験がないとわからないかと思ったので書いてみる。

  1. まず、すでに学会そのものは存在していることとします。「どのように学会ができるのか」も興味をひかれますが、私自身が未経験なので…
  2. 大抵の学会は一年に一回の開催です(例外もあります)。開催日の一年前ぐらいまでに、運営委員会(steering commitee)が、その年のプログラム委員長(program chair)と実行委員長(general chair)を決めます。実行委員長は会場の手配や運営を担当します。プログラム委員長の仕事は以下で。
  3. プログラム委員長は、運営委員会と相談して、プログラム委員(program committee members)を選びます。
  4. プログラム委員長とプログラム委員は、論文募集(call for papers)を作り、Webやメーリングリストなどに流します。
  5. 研究者等が論文を執筆・投稿します。投稿論文数は学会や年度によってまちまちですが、この分野のメジャーな学会で100〜200ぐらいのようです。論文の形式も学会によりますが、長さは1段組で20ページ(10000 word)程度のことが多いようです。
  6. 一つの論文を数名のプログラム委員が査読し、査読レポート(review)を書きます(点数と数十行程度のコメント)。必要があれば査読を外注することもありますが、責任はプログラム委員にあります(たまに外注した査読レポートがおかしくても訂正しようとしないプログラム委員もいますが…)
    • (通常の論文の)査読の基準は「技術的・理論的な新規性・一般性」です。ここが学会の学会たるポイントで、たとえMicrosoftが「Windowsを開発しました」とか、Sunが「Javaを開発しました」とかいう「論文」を投稿したとしても(そんなことはまずありえませんが)、「技術的・理論的な新規性・一般性」が科学的/論理的に明らかにされていなければ通りません。そのためには、内容はもちろん、文章(説明の仕方)も非常に重要です。
    • ただし、「…を開発しました」みたいな報告も重要なので、最近では「Experience Reports」「ソフトウェア論文」といった専用のカテゴリーも用意されています(後者は学会ではなく会誌ですが)。もっとも、これも「他人の参考になるかどうか」が重要です。
    • 査読者(reviewer)は、論文の内容や著者をバラしてはいけません。その段階ではまだ発表されていない論文なので。
  7. 査読レポートが出揃ったら、プログラム委員は実際に集まるか、あるいはメールで論文の採否を議論します。点数だけで決めるわけではなく、議論が長引くこともよくあります(評価が割れたときは特に)。採択論文数は学会や日程によりますが、たとえばICFP/POPL/PLDIあたりだと25本ぐらいのことが多いようです。
  8. 採択される論文が決まったら、著者に「accept」「reject」の通知が査読レポートと共に送られます。正直、それを見るほうは、かなり心臓に悪いです。ちゃんとした学会に論文が通らないと(まっとうな研究者として)生きていけないので、死活問題なのです…
    • だれが査読レポートを書いたかは、著者には知らされません。にも書きましたが、これを悪用して酷い査読をする人もたまに(よく?)いるので、私は査読レポートを匿名にするのはやめたほうが良いと思っています。賛否両論があるでしょうし、ずっと続いている制度なので、そう簡単に変えられないとは思いますが…
  9. 並行して(あるいは事前に)、プログラム委員は数件の招待講演を企画します。過去とも比べて話題が偏らないように、かつ、できるだけコミュニティの外部の人も呼ぶようにするのが普通です。
  10. 論文が採択されたら、学会で発表します。面白い(ないし突っ込みどころの多い)内容だと、質疑応答や、その後の休み時間の議論が盛り上がります。
  11. 学会で発表した論文/研究は改訂/改良して、できれば学術論文誌(ジャーナル)に投稿します。忙しくて手が回らないこともよくありますが…

ちなみに、たまに学会の論文募集っぽいspamがあるかもしれませんが、まともな査読をしていない"fake conference"もあるのでご注意を…。そういう「学会」に論文を投稿・発表するだけで、研究者として生きていくのに悪影響を及ぼしかねません。エセ博士号をお金で売っているpaper millみたいなものです。(最初から査読をしないことになっている大会等はまったく無問題ですが)