Skip to main content
QUICK REVIEW

[論文レビュー] From Academia to Software Development: Publication Citations in Source Code Comments

Akira Inokuchi, Yusuf Sulistyo Nugroho|arXiv (Cornell University)|Oct 15, 2019
Software Engineering Research参考文献 35被引用数 6
ひとこと要約

本稿では、0.90のF1スコアを達成する、ソースコードのコメントにおける学術的出版物の引用を検出する自動化された名前付きエンティティ認識(NER)手法を提案する。25,925のレポジトリにまたがる3億1900万件のコメントを対象とした大規模な分析を通じて、特に学術雑誌論文が頻繁に引用されていることが明らかになった。主にアルゴリズムや数式の転送を目的としており、多くの引用は元の著者とは関係のない開発者によってなされている。

ABSTRACT

Academic publications have been evaluated in terms of their impact on research communities based on many metrics, such as the number of citations. On the other hand, the impact of academic publications on industry has been rarely studied. This paper investigates how academic publications contribute to software development by analyzing publication citations in source code comments in open source software repositories. We propose an automated approach for detecting academic publications based on Named Entity Recognition, and achieve 0.90 in $F_1$ as detection accuracy. We conduct a large-scale study of publication citations with 319,438,977 comments collected from 25,925 active repositories written in seven programming languages. Our findings indicate that academic publications can be knowledge sources for software development. These referenced publications are particularly from journals. In terms of knowledge transfer, algorithm is the most prevalent type of knowledge transferred from the publications, with proposed formulas or equations typically implemented in methods or functions in source code files. In a closer look at GitHub repositories referencing academic publications, we find that science-related repositories are the most frequent among GitHub repositories with publication citations, and that the vast majority of these publications are referenced by repository owners who are different from the publication authors. We also find that referencing older publications can lead to potential issues related to obsolete knowledge.

研究の動機と目的

  • オープンソースソフトウェアのソースコードコメントにおける学術的出版物の引用の広がりと性質を調査すること。
  • 標準的な引用フォーマットが存在しない自由形式のコードコメントにおいて、出版物の引用を自動で検出する手法を開発すること。
  • 出版物の種別、知識移転のパターン、時系列的分布を含む、引用された出版物の特徴を分析すること。
  • 特に知識共有や陳腐化した引用の可能性といった問題を含め、学術的引用がソフトウェア開発において果たす役割を理解すること。
  • 学術界とソフトウェア工学の間でのトレーサビリティおよび知識移転を支援するためのツール改善を支援すること。

提案手法

  • ルールベースのヒューリスティクスと機械学習を組み合わせて、学術的出版物の引用を検出するカスタム名前付きエンティティ認識(NER)モデルを訓練した。
  • 著者名、タイトル、出版年、学術誌・会議名などの特徴を活用し、非構造化テキスト内の引用を同定する。
  • 7つのプログラミング言語で活用されている25,925のレポジトリから、合計3億1943万8977件のコメントを処理した。
  • 引用は出版物の種別(例:学術雑誌、会議録)、知識タイプ(例:アルゴリズム、数式)、時系列的年齢別に分類された。
  • 引用を含むGitHubレポジトリのサブセットを対象に、定性的分析を実施し、引用のパターンと著者関係を検討した。
  • ゴールドスタンダードデータセットを用いた評価により、引用検出のF1スコアが0.90に達した。

実験結果

リサーチクエスチョン

  • RQ1オープンソースソフトウェアのコメントにおける学術的出版物の引用の頻度と分布はどのようになっているか?
  • RQ2開発者はソースコードコメントで学術的出版物をどのように利用しているのか? 具体的には、どのような知識が転送されているか?
  • RQ3引用された出版物は主に学術雑誌か会議録か? これはプログラミング言語や分野によってどのように変化するか?
  • RQ4引用された出版物の著者と、それを引用する開発者との間にどのような関係があるか?
  • RQ5引用された出版物の年齢と引用頻度、および陳腐化の可能性との相関関係は何か?

主な発見

  • 学術的出版物はソースコードコメントで頻繁に引用されており、検出された引用の90%が会議録ではなく学術雑誌論文から来ている。
  • 最も一般的に転送される知識の種別はアルゴリズムであり、多くの場合、数式や方程式を含むメソッドや関数として実装されている。
  • 引用された出版物の大部分は、元の著者とは関係のない開発者によって参照されており、学術界から産業界への強い知識移転が確認された。
  • 古い出版物がより頻繁に引用されているが、一部の引用は陳腐化した文献を指しており、知識の陳腐化の懸念が生じる。
  • 科学関連のレポジトリが、出版物の引用を含む可能性が最も高く、学術研究と科学的ソフトウェア開発との強い関連性が示された。
  • 引用されたリンクの大部分が無効またはアクセス不能であることが判明し、ソフトウェアドキュメンテーションにおける永続的リファレンスの維持に課題があることが浮き彫りになった。

より良い研究を、今すぐ始めましょう

論文の読解から最終レビューまで、研究時間を劇的に削減しましょう。

クレジットカード登録不要

このレビューはAIが作成し、人間の編集者が確認しました。