Skip to main content
QUICK REVIEW

[論文レビュー] Do Developers Update Their Library Dependencies? An Empirical Study on the Impact of Security Advisories on Library Migration

Raula Gaikovina Kula, Daniel M. Germán|arXiv (Cornell University)|Sep 14, 2017
Software Engineering Research参考文献 21被引用数 48
ひとこと要約

本研究は、4,659のGitHubプロジェクトにおける、古くなったサードパーティライブラリ依存関係のセキュリティアドバイズへの開発者の反応を、実証的に調査している。ライブラリの広範な再利用にもかかわらず、81.5%のシステムが古くなった依存関係を維持しており、脆弱性に影響を受けていた開発者の69%がその事実を把握していなかった。これは、セキュリティアドバイズへの反応が低く、依存関係のメンテナンス実務における深刻なギャップを示している。

ABSTRACT

Third-party library reuse has become common practice in contemporary software development, as it includes several benefits for developers. Library dependencies are constantly evolving, with newly added features and patches that fix bugs in older versions. To take full advantage of third-party reuse, developers should always keep up to date with the latest versions of their library dependencies. In this paper, we investigate the extent of which developers update their library dependencies. Specifically, we conducted an empirical study on library migration that covers over 4,600 GitHub software projects and 2,700 library dependencies. Results show that although many of these systems rely heavily on dependencies, 81.5% of the studied systems still keep their outdated dependencies. In the case of updating a vulnerable dependency, the study reveals that affected developers are not likely to respond to a security advisory. Surveying these developers, we find that 69% of the interviewees claim that they were unaware of their vulnerable dependencies. Furthermore, developers are not likely to prioritize library updates, citing it as extra effort and added responsibility. This study concludes that even though third-party reuse is commonplace, the practice of updating a dependency is not as common for many developers.

研究の動機と目的

  • 実世界のソフトウェアプロジェクトにおける、開発者がサードパーティライブラリ依存関係をどの程度更新しているかを理解すること。
  • 脆弱な依存関係のセキュリティアドバイスに対して開発者がどのように反応するかを検討すること。
  • ライブラリ移行意思決定に影響を与える要因(障壁と動機)を同定すること。
  • 実証データを用いて、システムおよびライブラリの両視点からライブラリ移行パターンをモデル化すること。
  • 今後の研究のために、852,322件のライブラリ依存関係移行に関する公開データセットを提供すること。

提案手法

  • 4,659のGitHubプロジェクトを収集・分析し、時間経過に伴うライブラリ依存関係のバージョンを追跡した。
  • バージョン履歴と依存関係メタデータを用いて、ライブラリバージョン間および異なるライブラリ間の移行イベントを追跡した。
  • 移行パターンを可視化し、傾向を特定するために、ライブラリ移行プロット(LMP)を構築した。
  • 脆弱性に影響を受けていた69名の開発者を対象にアンケート調査を実施し、認識度と移行行動を評価した。
  • CVEデータベースその他の情報源を用いて、セキュリティアドバイスを特定し、研究対象プロジェクト内の脆弱な依存関係にマッピングした。
  • 移行意思決定を詳細に分析するため、8件のケーススタディを実施した。

実験結果

リサーチクエスチョン

  • RQ1実際の開発者は、サードパーティライブラリ依存関係をどの程度更新しているのか?
  • RQ2脆弱なライブラリ依存関係のセキュリティアドバイスに対して、開発者はどの程度対応しているのか?
  • RQ3開発者が古くなったライブラリバージョンを維持するか、移行するかを決定する要因は何か?
  • RQ4開発者は、ライブラリの更新に伴う作業量、リスク、責任について、どのように認識しているのか?
  • RQ5異なるシステムやライブラリにおいて、ライブラリ移行行動のパターンや特徴は何か?

主な発見

  • 調査対象の4,659プロジェクトの81.5%が、ライブラリ依存関係の古くなったバージョンを引き続き使用しており、ライブラリの更新が広く行われていないことが示された。
  • 脆弱性に影響を受けていた開発者の69%が、CVEアドバイスが存在してもその事実を把握していなかった。
  • 移行が可能であるにもかかわらず、開発者は新しいバージョンよりも古く、人気のあるライブラリバージョンを好む傾向がある。
  • 移行の主な障壁は、認識不足、優先度の低さ、および依存関係メンテナンスの責任が不明瞭であることである。
  • セキュリティアドバイスだけでは、タイムリーな移行を促すには不十分であり、多くの開発者が通知を受けた後も行動を起こさない。
  • 本研究は、依存関係の更新の理論的意義と、実世界のソフトウェア開発における実際の工学的実務との間には、顕著なギャップが存在することを明らかにした。

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

論文設計から論文執筆まで、研究時間を劇的に削減しましょう。

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

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