ソフトウェア工学研究の日々

ソフトウェア工学の学術研究を紹介しています。ソフトウェア開発に関する調査と実験が大好きです。

プログラム理解研究のまとめ本「プログラマー脳」

Felinne Hermans: プログラマー脳, 秀和システム, 2023 が、最近(ここ20年ぐらい)のプログラム理解系研究をよく整理しています。表紙には認知科学に基づくアプローチとありますが、認知科学の話がずっと続くわけではなく、プログラマーの行動に関する実験の話がたくさん含まれています。
 ソフトウェア工学、プログラム理解、プログラミングに関する国際会議・論文誌で発表された様々な論文が引用されており、1つの論文が、だいたい1段落~1節ぐらいに対応しています。日本からは、上野秀剛先生(現所属は奈良高専)、中川尊雄さん(現所属は富士通研究所)が奈良先端ソフトウェア工学研究室で行った研究の論文が引用されていました。たとえば、上野先生らの Analyzing Individual Performance of Source Code Review Using Reviewers' Eye Mevement (2006) の内容に基づいて、以下の一段落が述べられています。

アイトラッカーは、人がどのようにコードを読むのかを、研究者がより深く理解することを可能にしました。たとえば、奈良先端科学技術大学院大学の上野秀剛教授率いる研究チームは、プログラマーはまずはコードをスキャンして、つまりざっと眺めてプログラムの動作を把握することを見つけました。(中略) このようなクイックスキャンは、自然言語を読む際に、文章の構造を俯瞰するためによく行われる行動であり、人々はこの戦略をコードを読む際に転用するようでした。

元の論文は 8ページにわたるものですが、その大事なところが短くまとめられています。

 この書籍は、全体的に、多数の学術論文に基づいています。たとえば 8章「よりよい命名を行う方法」では、わずか20ページに7本の有名どころの論文が引用されていて、本文中に引用無しで出てくるものも数本あり、それらの知見をまとめて日本語で読むことができます。なので、プログラム理解についての研究をやりたい人には、歴史的な経緯を知る上で非常に良いスタート地点になると思います。一方、基本が学術研究の話なので、開発者の人が読んで「すぐ実践に使える何か」を得られるような、いわゆる How-to 本ではありません。開発者の人が持つ感覚的なところの分析をまとめているので、そういう要素を言語化をしたい人にとっては気づきが得られる本なのではないかと思います。