Stack Overflow 研究の諸側面とワークの研究によるアプローチ
田島逸郎 (慶應義塾大学大学院)

niryuu@keio.jp
いる。例えば質問回答のページを見ても，複数の回答，投票，タグ，コメント，編集履歴，利用
Web においては，知識あるいは知識の体系だ 者のプロフィールなど多くの情報と機能が提示けでなく，それが生み出される活動をアクセス されている。
一方で，このような SO の複雑な仕組みは，どした人が見ることができ，さらには参加するこうやって利用者がSO に参加し，知識をやり取とも可能である。プログラミングに関する質問
回答サイト Stack Overflow(SO)1) はその 1 つ りし，管理しているかということを見えにくいであり，利用者同士がコンピュータ・プログラ ものにしている。SO というコミュニティがどミングに関する知識を公開し，またアクセスが う活発な形で成り立っているかを理解するには，容易なように共同で管理するような活動が見ら 利用者の参加の仕方を理解することが重要であれる。その成功から，他の技術的な話題や専門 る。このため，本研究では，SO を利用者の視点的な話題に特化した Stack Exchange という質 で理解するにはどうしたらよいかを検討する。

I はじめに問回答サイト群が作られた。
II Stack Overflow はどう研究されてきSO は 2008 年に「プログラミングに関する良たかい知識の総和を増やす」目的で設立された「質問回答サイト」である 3) 。SO は既存のプログラSO を対象とした研究が，2011 年以降活発にミングに関するアクセス可能な知識に強い問題 行われているため，まず先行研究を検討する。
意識を持っており，質問回答以外にも様々な機 図書館・情報学分野において，「質問回答サイト」能やルールを取り入れている。機能やルールに に注目した研究が多く行われているが，SO は特ついて利用者同士が議論する場が設けられ，そ 定の領域に絞った質問回答サイトの 1 つとみなれに従って改善がなされてきた。SO は 2018 年 されており 4) ，その特徴的な面が取り上げられ現在多くの質問回答として蓄積された知識を提 ることは少なかった。一方で，SO を質問回答サ供しており，有用な情報源としてプログラマー イトの 1 つではなく「ソフトウェア開発者が利にとって重要な位置を占めている。
用するソーシャルメディア」として焦点を当てそれを実現するために，SO は多くの異なる た研究がソフトウェアやプログラミングに関す機能や行動規範をシステムに組み込んできた。 る研究で行われている。特に，SO はデータベー
2009 年に行われたプレゼンテーションにおい スが全て公開されており，ソフトウェア開発者て，SO の創立者は SO を構成する 9 つのデザイ の実際を理解する重要な経験的データとして扱ンについて述べた。良い回答と悪い回答を区別 われている。
する「投票」，質問を組織する「タグ」，Wiki の
このため本研究では，SO に関する研究を幅広ように質問回答を改善できる「編集」，良い貢献 い分野から収集するため，Scopus, ACM Digitalを奨励する「バッジ」，悪い行動を妨げる「カル Library, IEEE Explore において “Stack Overマ」，編集の前に検索をすること，Google 検索も flow”,“Stack Exchange” で検索し，文献を収集
SO のユーザーインタフェースの 1 つであるこ した。前者はプログラミング用語 (SO の名のと，多くの人が参加することでコミュニティが 由来である)，後者は化学用語と重複していたた
安定するクリティカル・マスを意識することで め，これらを除き，369 件の論文，会議録を収集ある。これらはコミュニティの発展や利用者同 した。全体の傾向としては，ソフトウェア工学士の議論などを通じて改善されてきたが，原則 分野が多く，Web やソーシャルメディア研究，的に大きな変更なしで 10 年間維持されてきた。 HCI，CSCW 分野，情報検索分野などにも見ら
SO は明らかに，単に質問と回答だけを行うコ れた。
ミュニティとは目的・手法ともに異なっている。 以上のように SO に関する研究は多分野にわ
さらにいえば，様々な機能やガイドラインが複 たって行われているが，何を理解しようとして雑に絡み合い，統一されたシステムを構成して いるかという点については共通点が多く，主に 3

つのトピックに関して研究が行われていること (ドキュメンテーション) の一種として扱う研究がわかった。以下ではそれぞれについて，どの が多く見られる。特に，あるプログラミング言ような観点や方法で研究が行われてきたか，ま 語などの公式文書との違いや，使い分けに関心たその射程や課題について述べる。
が向けられている。SO では公式ドキュメント
1 個々の利用者と SO との関わりと違い SO では実際の問題に即した言葉が使わ
まず，SO に参加する利用者個人と，SO との れていることを分析し，専門用語との対応を試関わりに注目した研究が行われている。特に， みた研究などがある 6) 。また，オープンソース
ソフトウェア工学分野では，ソフトウェア開発 で公開されているソースコードにおける，SO で者がどういった人々なのかを理解するために， 提示されたソースコードの再利用の傾向や目的盛んに研究が行われている。なども研究されている。
まず，SO の利用者，すなわち開発者個々人のSO における情報源としての品質は，SO でど特徴の傾向を，その行動を通じて理解する研究 のような行動が良いとされるかと密接に関わっが行われている。例えば，感情の表出の仕方が ている。SO では質問者が 1 つの回答を適切な商品のレビューなどと異なっていること 5) が分 回答として「受け入れる」ことができ，また他の析されている。また，女性はあまり質問や回答 利用者は質問や回答に投票ができ，それが回答をしない傾向にあり，それと SO に女性が少な の品質の重要な指標となる。これらの指標を利いこととの関連なども分析されている。
用し，良いとされる回答の性質が分析されてい利用者の質問回答行動の種類や傾向を理解す る 7) 。また，良いとされる回答は変化しうるたる研究が行われている。Treude による SO の質 め，時系列的な変遷も研究されている。
問回答全体の，主題や質問の形式に関する集計
SO では質問回答の品質を上げる方法として，は SO 研究の端緒の 1 つとなった 9) 。Android， 編集が重視されている。質問回答の編集に誤字NoSQL，機械学習など様々な分野で，同様の手 訂正から内容の明確化まで様々な種類があり，法で傾向の分析が行われている。問題への解決 それぞれが使われる傾向が分析されている 10) 。
策，バグの対処，原理の理解などといった質問の このほか，新参の質問者が自分で編集を改善で動機が分野によって異なっており，それは技術 きる仕組みの提案や，編集すべき質問の自動検分野の特徴と関連していることがわかっている。 出手法などが研究されている。
質問回答などへの参加を，推薦技術によってしかし，SO の質問回答を情報源として捉えた支援する技術も提案されている。質問を回答で 場合，それが実際の参加者同士のやり取りの記きそうな専門家に推薦する手法などが多く提案 録であり，それを読むという形で利用するといされている。また，利用の障壁を緩和するよう う側面は無視できない。参加者は他の人に読めなアプローチも存在する。互いに学びあう実践 るように質問や回答などを書いており，それに共同体として捉えると，参加者個人に情報過多 よって質問回答が読んで利用できる情報源となや適切な情報の選択の問題がある。これを解決 る。また，どのような質問回答をすれば良い情するために，信頼に基づく推薦技術による解決 報源になるかという規範については，ガイドラ策が提案されている 8) 。
インは存在するが，最終的には実際の質問回答一方で，ある場所でどう振舞うか，どう自己 という場面で交渉される。
を出すかといった問題は，その場での他の参加 3 コミュニティとそのデザイン者とどのようにコミュニケーションを行うかにSO を 1 つの大きなコミュニティとして扱うよる。すなわち，SO で質問回答などのやりとり アプローチも存在する。SO は「協働的プログラを成立させるマーコミュニティ」と自らを位置付けており，コ
2 情報源としての質問回答ミュニティを健全に発展させることが，協働やそSO の質問回答を，検索可能な情報源として捉 の生産物である知識を良くすることにつながる。
えた研究も存在する。これらはソフトウェアに Mamykina らは SO という Web サービスを 1関する文書として扱われ，実際のソフトウェア つのコミュニティとして捉え，質問回答行動の開発の中で利用されている。また，SO では，情 分布を分析し，SO の運営者にインタビュー調査報源としてよりよくしていく行動が見られ，そ を行った 11) 。一方で，SO の質問回答の頻度は伸び悩んでおり，それには質問の品質が関わっの実態が研究されている。
SO の質問回答を，プログラミングに使う文書 ているという分析もされている。他のコミュニ

ティとの関係も重要となる。SO と SE の他のサ A 相互理解と行為の組織イトとの関係，メーリングリストからの移行やプログラマー個人とコミュニケーションの問利用傾向の違いなどが研究されている。
題を利用者の視点で捉え直すと，SO というシス利用者の行動の集計によって，SO というコ テムにおいて利用者がどう自己を提示し，互いミュニティをよりよくする仕組みを，SO 自身が を理解し，質問回答などを成り立たせているか取り入れている。良い質問回答者であることを という課題となる。これはチャットや Twitter示す「評判」や，特定の良い行動を行った人に与 などの Web における様々なシステムで共通すえられる「バッジ」などがこれにあたり，これ る問題意識だろう。
らの導入が利用者の行動をどう変え，コミュニまず，Web において行為や活動をどう達成ティに影響を及ぼすかも研究されている。
するかということが研究対象となっている。
一方で，SO というコミュニティは，利用者に Zemel はチャットレファレンスにおけるサーとって意識されているものでもある。その中で ビスの達成を会話分析を用いて説明した 12) 。レ
は全体の統計などが意識されることはあまりな ファレンスサービスにおいては利用者の要求をく，むしろその中での活動において現れるもの 特定し，それに図書館員が支援を行うが，そのだと考えられるが，そのような視座に立った研 中で利用者，図書館員の双方に常に考慮されて究は見られない。
いることがある。今話していることが利用者の問題にとって適切かどうか，また，図書館員がIII SO におけるワークの研究の可能性 答えるのに適切かどうか (行為可能 actionable
以上のように，SO ではどんな人がどんな交流 か) である。その 2 つを常に管理することで，レをしているか，どういった知識の集積があるべ ファレンスサービスという活動を行うことができか，共同体はどのようなものかといった問題 きるのである。チャットレファレンスの特徴は，は，研究者にとっての問題だけでなく，参加者の その行為がテキストの産出によって行われるこ問題でもあり，参加者がそれをどう捉えて，物 とである。投稿されたテキストはテキストの列事を行っているかという視点が先行研究では欠 の中で秩序だって産出される。どう読まれるかけている。そして，それは SO を成立させてい を考慮して投稿し，どう読んだかを示していくる重要な視点であると考えられ，これを理解す ことで，チャットレファレンスという活動が形成されるのである。
ることは意義のある研究課題と考えられる。
また，Tolmie らは，Twitter における風説の流それを実際に研究する際には，既存の方法で布を分析する際に，そのやりとりが対面会話とは様々な問題がある。例えば，質問や編集など
13)。の機能の使用に注目し，その傾向を統計や自然 異なる形で組織されていることを指摘した
そこで，Twitterで「会話を成立させる」ことそ言語処理，機械学習などの手法を用いて分析することがよく行われているが，それは参加者が のものを共同作業と捉え，Sacks らによる会話の順番取りシステムの議論に即しながら，Twitter実際に場面を見る方法とは異なる。
では，どのような研究を行えば良いだろうか。 がどのような交流面の特徴を持っているかを検人々がある場面をどう理解し，どう物事を行っ 討した。主な結果を挙げると，対面会話では例ていくかを，その場面の成り立ちの中に求める えば誰かになされた質問にはその人が答えなけ試みが，Garfinkel らによって創始されたエスノ ればならないのに対し，Twitter では潜在的なメソドロジー研究によって行われている。特に 参加者の多さから，誰かが答える必要はほぼなワークの研究と総称されるアプローチにおいて い。風説も同様で，見ているだけの人がほとんは，専門的なものを含む特定の作業がどう達成 どだが，応答した人の声が大きく見えてしまう。
されるかを，その場面に特有な実践から理解す これらは Twitter 特有の秩序の成り立ちから説ることが幅広い分野で行われている。SO に存 明できる。
SO においても，どうやりとりを成立させて在する様々な共同作業の問題と類似した問題についても，研究がなされているため，以下でい いるかは重要となるだろう。質問回答サイトのくつかの研究を例示し，SO におけるワークの研 「質問回答」は，対面会話における質問と回答とは異なり，さらには後から編集さえされてしま究の可能性を検討する。
う。もう一つ重要な点が，これらの研究がテキスト的やりとりについて，実世界などの他の環境と独立して組織されるということを明らかに 1) Stack Exchange Inc. ”Stack Overflow”.
https://stackoverflow.com/(accessed2018した点である。SO で行われていることと，利用09-15).
者が置かれた様々な環境で起こっていることの 2) Spolsky,
Joel.
”Learningfrom
StackOverflow.com”.
関係は注意深く検討する必要がある。
https://www.youtube.com/watch?v=NWHfY lvKIQ
B 知識体系の実践的管理(accessed 2018-09-15).
質問回答の管理を利用者の視点で捉え直すと， 3) 田島逸郎．“Stack Overflow における「知識の総和の増加」への志向と達成”．三田図書館・情報学会研究大SO にどういった知識が集まっていればよく，そ会発表論文集．2017，p.25-29．
れを維持するにはどうしたら良いかという，知 4) Shah, Chirag; Kitzie, Vanessa; Choi, Erik. Modalities, motivations, and materialsinvestigating tra識の集積の問題となる。
ditional and social online Q&A services. Journal
知識の集積をよりよく公開された形で管理すof Information Science. 2014, vol.40, no.5, p.669687.
るということについては，Ikeya らが英国の大5) Calefato, Fabio; Lanubile, Filippo; Maiorano,
学図書館員における分類法の実践を明らかにしFederico; Novielli, Nicole. Sentiment Polarity De14)
tection for Software Development. Empirical Softている。そこでは図書館で使われている分類
ware Engineering. 2018, vol.23, no.3, p.1352-1382.
体系を用いて分類が行われていたが，DDC が基 6) Li, Jing; Sun, Aixin; Xing, Zhenchang. Learning to answer programming questions with softになっているものの資料の提供という目的に即ware documentation through social context emした形で様々な柔軟な運用や，分類体系の独自
bedding.. Information Sciences. 2018, vol.448-449,
p.36-52.の改定などが行われていた。それと同時に，分7) Ahn, June, et al. ”Learning to be a better Q’er
類法が特定の状況によらない形で，すなわち安in social Q&A sites: social norms and information artifacts.” Proceedings of the American Soci定した形で各状況において利用可能になっておety for Information Science and Technology 2013,り，その特性を損なわないように変更が行われvol.50, p.1-10.ていた。
8) Zheng, Xiao-Lin et al. A hybrid trust-based recommender system for online communities of pracSO においては，明らかに図書館員の実践とtice. IEEE Transactions on Learning Technolo異なる部分がある。例えば，利用者自身が知識
gies. 2015, vol.8, no.4, p.345-356.の集積の管理をするという点や，特定の確立さ 9) Treude, Christoph; Barzilay, Ohad; Storey,Margaret-Anne. ”How do programmers ask and
れた分類法を使用しないといったことが挙げら
answer questions on the web?: NIER track”. 33rd
International Conference on Software Engineering
れる。しかし，例えばある質問回答が良くない(ICSE’11). IEEE, 2011, p.804-807.と判断したり，タグで分類したりといった基準 10) Li, Guo; Zhu, Haiyi; Lu, Tun; Ding, Xianghua;
Gu, Ning. ”Is It Good to Be Like Wikipedia?:はある程度 SO 内で共有されているように見え，Exploring the Trade-oﬀs of Introducing Collabそれを理解することが SO という共同体を理解
orative Editing Model to Q&A Sites”. CSCW
’15:Proceedings of the 18th ACM Conference onすることに繋がるかもしれない。
Computer Supported Cooperative Work & Social
C SO のデータを使った活動の理解に向けてComputing. ACM, 2015, p.1080-1091.
以上のように，ワークの研究のアプローチは 11) Mamykina, Lena; Manoim, Bella; Mittal, Manas;
Hripcsak, George; Hartmann, Bjrn. ”Design
SO を利用者の視点から見る有用なアプローチ
lessons from the fastest q&a site in the west”. 2011
であると考えられる。その際には，利用者があAnnual Conference on Human Factors in Computing Systems (CHI ’11). ACM, 2011, p.2857る問題を実際に問題としている「明白な場面」を2866.
探し，そこでどのように活動がつながっていき， 12) Zemel, Alan. Texts as actions: Requests in online chats between reference librarians and library
作業が達成されるのかを見ることが必要になる。
patrons. Journal of the Association for Informaこれにより，SO において参加者が知識を管理
tion Science and Technology. 2017, vol.68, no.7,
p.1687-1697.
していくことが，どうやって成立しているのか
13) Tolmie, Peter; Procter, Rob; Rouncefield, Mark;を見ることができる。それに際して，公開されLiakata, Maria; Zubiaga, Arkaitz. Microblog
Analysis as a Program of Work. ACM Transacている SO のデータセットが活用できる可能性
tions on Social Computing. 2018, Vol.1, no.1, 40p.
がある。適切に，つまり利用者がある回答など 14) Nozomi,
Ikeya; Sharrock, Wes. ”Social distribuをした際に何を見ているかなどを考慮した形で
tion of knowledge in action: the practical managemant of classification”. Relevance and Irrelデータを見ることができれば，人々の活動の記
evance: Theories, Factors and Challenges. Jan,録として活用できるだろう。
Strassheim; Hisashi, Nasu., ed. De Gruyter, 2018.
謝辞
本研究は平成 30 年度慶應義塾大学大学院博士課程学生研究支援プログラムの研究助成を受け実施しました。
参考文献