ソフトウェアと論文

首藤 一幸

首藤一幸:
"ソフトウェアと論文",
コンピュータソフトウェア, Vol.39, No.3, pp.88-89, (一社)日本ソフトウェア科学会, 2022年 7月 22日

「研究に欠かせないソフトウェアを開発しているのに、研究業績として評価してもらえない。」 たまにそんな愚痴を聞きます。 重いソフトウェア開発作業を、研究業績を必要とする人に勧めていいものか? ソフトウェア関連の研究者は実用ソフトの開発を経験すべきか? ソフトウェア工学の研究者は開発者を幸せにしようとしているか? などなど、筆者も大学院生の頃から考えてきました。 こうした問いはつまり、 ソフトウェアおよびその開発と、研究業績たる論文との間の相克についてのものです。

研究とは、狭い意味では、それまで人類が知らなかったことを見つけて人類の知識を増やす営為、でしょう。 ここで発見された新知識が研究成果です。 そのため、研究成果には新規性が求められます。 そして今日、新規な知識を蓄積していく主要な媒体は論文です。 論文誌は、査読を経て新規性が確認された論文を掲載する、という具合いです。 研究の成果とは新規な知識であり、それは(査読あり)論文として発表されるのだから、 その人が発表してきた論文、その数や質をもって研究者を評価する、というのは自然なことなのでしょう。

ソフトウェアそれ自体は人工物であって知識ではないので、 狭い意味での研究の成果にはなり得ません。 それでも、ソフトウェアがその研究において重要な位置を占めるため、 論文がソフトウェアに言及することはあります:

ソフトウェアについての論文を(1)のスタイルで書いた、という方も多いのではないでしょうか。 私の場合、 軽量コンパイル手法という新知識にフォーカスしてJava JITコンパイラshuJITの論文を書き、 ソフトウェア構成法にフォーカスしてP2P基盤ソフトOverlay Weaverの論文を書き、 シミュレータ構成法にフォーカスしてブロックチェーンシミュレータSimBlockの論文を書きました。

研究の成果とはあくまで新規な知識であり、 それを伴わないソフトウェアを開発しても当然研究成果にはならず、 論文としては結実しません。以上。

…と、ここまでが原則論です。 正直言うと私は、既存のものと同じ機能のソフトウェアであっても、 一定の能力がある人が自分なりに開発すれば、 できたソフトウェアの中には何かしらの新規性を見つけることができる、 と楽観視しています。 (1)に落とし込んで論文化できる、というわけです。 手段(ソフトウェア開発)のためには目的(新知識)を選ばない、という名言、もとい冗談もあります。

ソフトウェアを論文にしたければ、皆、(1)に落とし込めばいい、という考え方もあります。 しかしそれは強者の論理かもしれませんし、 うまくやってきた者だけが語る生存者バイアスかもしれません。 また、落とし込みの理屈に少々無理があったり、 ひねり出した新規性がとても小さいということも起こります。


図1 論文として出版される知識

もっとストレートに、 ソフトウェアそれ自体やソフトウェアを主題とする論文を認めよう、という試みがあります。 知識の新規性は問わず、何か別の価値基準で採録か不採録かを決めるわけです。 それらの試みは

まですくい上げようとしています(図1)。

皆さんがまず思い浮かべる試みは、 本学会 コンピュータソフトウェア誌のソフトウェア論文という区分でしょう。 「発想、構成法、実装法などの点で優れ…る開発成果や、ソフトウェア設計・作成上の有益な知見を与える開発成果」 の論文を採録します。 これはつまり、論文に対して、新規性こそ求めないものの、ソフトウェア工学的な価値は求めています。 (a)は要求せずとも、かなり真面目に(b)を求めています。

Science of Computer Programming(SCP)誌のOriginal Software Publications (OSP)という区分 (案内文) やSoftwareX誌 (ウェブページ) は、もっと割り切っています。 両誌とも、数ページの原稿は求めるものの、あくまで主役はソフトウェアそれ自体です。 例えば、採録が決まったソフトウェアは、 論文誌が用意するGitHubリポジトリがコピーを保存します。

SCP誌OSPは、新規性について、そのソフトウェアが他の媒体で出版されていないことしか求めません。 次に重視するのはimpactです。 SoftwareX誌の方も、論文を眺めるとその多くがimpactという章を設けています。 そこでは、作業を容易にする、他の研究者が活用した、○回ダウンロードされた、など様々なアピールがなされています。

驚かされるのは、両誌ともかなりはっきりと、ソフトウェア開発者に報いることを目的に挙げていることです。 SCP誌OSPの案内文:「研究用ソフトウェアの開発者は学術的な評価を得るのに苦労しており…これを解消します。」 SoftwareX誌の案内文:「ソフトウェア開発者の重要性を強調することも目的としています。」 つまり、(b)のあり方はあまり追求せず、インパクトがあればいい、と割り切っている上、開発者に報いるという(c)社会的な効果をあからさまに狙っているというわけです。

Nucleic Acids Research誌のDatabase Issueという特集号 (案内文) も(c)の役割を担っているように見えます。 この特集号は年初に発行され、生物学関連のデータベースを紹介する論文を掲載します。 核酸(Nucleic Acid)、つまりDNAやRNAの分野ではデータベースが重要な役割を果たしているので、 その情報共有・記録のための特集号があるのでしょう (b)。 一方で、狙ってか狙わずか、データベースの開発やメンテに携わる人に報いることにもなっています (c)。 特集号向け論文の著者は、前の論文から18ヶ月経つと、更新内容を書いた論文を投稿できます。 つまり、1つのデータベースをメンテし続けると、約2年ごとに論文を1件書ける計算です。 データベースであれソフトウェアであれ、 重要な仕事であるのに評価されないとしたら、誰も取り組まなくなってしまいますものね。

もっとも、ソフトウェア開発に対して報いる方法は、何も、研究業績たる論文だけではありません。 テクニシャンのように、金銭を対価として開発を行う職や外注先は存在します。 そうは言っても、そんなお金はなかったり、 何らかの理由で研究者自身が開発するしかない状況の方が多いでしょうから、 (c)の出版が試みられているのでしょう。

さて、ソフトウェア開発と論文、研究業績や研究者評価の関係はどうあるのがよいものでしょうか。

(しゅどう かずゆき / 京都大学)