Skip to main content
QUICK REVIEW

[論文レビュー] What makes a good Node.js package? Investigating Users, Contributors, and Runnability

Bodin Chinthanet, Brittany Reid|arXiv (Cornell University)|Jun 23, 2021
Software Engineering Research参考文献 62被引用数 4
ひとこと要約

本研究では、開発者視点(ユーザーおよび貢献者)から、優れたNode.jsパッケージの特徴を特定することを目的としている。33名の開発者に対するアンケートと10万4,364個のnpmパッケージの分析を通じて、実行可能性(特に実行可能なコードスニペットとテスト成功)がパッケージの品質と強く相関しており、ファイル数やコミット履歴といった特徴を用いて予測可能であることが明らかになった。

ABSTRACT

The Node.js Package Manager (i.e., npm) archive repository serves as a critical part of the JavaScript community and helps support one of the largest developer ecosystems in the world. However, as a developer, selecting an appropriate npm package to use or contribute to can be difficult. To understand what features users and contributors consider important when searching for a good npm package, we conduct a survey asking Node.js developers to evaluate the importance of 30 features derived from existing work, including GitHub activity, software usability, and properties of the repository and documentation. We identify that both user and contributor perspectives share similar views on which features they use to assess package quality. We then extract the 30 features from 104,364 npm packages and analyse the correlations between them, including three software features that measure package ``runnability"; ability to install, build, and execute a unit test. We identify which features are negatively correlated with runnability-related features and find that predicting the runnability of packages is viable. Our study lays the groundwork for future work on understanding how users and contributors select appropriate npm packages.

研究の動機と目的

  • 開発者がnpmパッケージを選定または貢献する際の基準を理解すること。
  • ユーザーと貢献者の視点におけるパッケージ品質要因の違いや共通点を比較すること。
  • インストール性、ビルド性、コードスニペットの実行性の観点からnpmパッケージの実行可能性を評価すること。
  • 10万4,364個のパッケージから得た実証データを用いて、パッケージの実行可能性を予測する特徴を同定すること。
  • ユーザーおよび貢献者のニーズを両方考慮した将来のパッケージ推薦および品質メトリクスの基盤を提供すること。

提案手法

  • 33名のNode.js開発者を対象に、30のパッケージ品質要因の重要性を評価するオンラインアンケートを実施した。
  • 要因を4つのタイプに分類した:ドキュメント、リポジトリ、ソフトウェア(実行可能性)、GitHubアクティビティ。
  • GH-Node.jsデータセットを用いて、10万4,364個のnpmパッケージからデータを収集・分析し、実行可能性と特徴の相関関係を測定した。
  • インストール成功、ビルド成功、コードスニペットの実行成功の3つのメトリクスを用いて実行可能性を評価した。
  • 統計的相関分析を用いて、特徴と実行可能性との関係を同定した。
  • 特徴の重要度に基づく予測モデルを構築し、異なる実行可能性メトリクスにおいて予測力に差があることを示した。

実験結果

リサーチクエスチョン

  • RQ1実務家がパッケージ品質を評価するために関連すると考えるnpmパッケージの特徴は何か?
  • RQ2ユーザーと貢献者の視点におけるパッケージ品質の認識は、どのように異なるか、あるいは一致するか?
  • RQ3パッケージの特徴と実行可能性(インストール、ビルド、実行)の相関関係は何か?
  • RQ4静的特徴およびアクティビティベースの特徴を用いて、npmパッケージの実行可能性を予測できるか?
  • RQ5npmパッケージの成功したインストール、ビルド、テスト実行を予測する上で、最も予測力の高い特徴は何か?

主な発見

  • ユーザーと貢献者は、30の特徴のうち50%を共通して重要視しており、パッケージ品質に関する認識が類似している。
  • ドキュメントおよびソフトウェアの実行可能性要因は、ユーザーおよび貢献者両者にとって非常に重要であると認識されている。
  • ファイル数やコミット履歴といったリポジトリ要因は、開発者によって品質の指標とは見なされていない。
  • 10万4,364個のnpmパッケージのうち、92.95%が正常にインストール可能であり、61.59%がREADMEに少なくとも1つのコードスニペットを含んでいたが、22万324個のコードスニペットのうちわずか15.20%しか実行可能ではなかった。
  • 2020年に更新された1万1,127個のパッケージのうち、73.68%がビルド可能であったが、テストケースをすべて通過したのはたった7.40%にとどまり、テスト実行可能性が低いことが示された。
  • 実行可能性の予測は可能であり、ファイル数やコミット履歴はインストール性と強く相関しているが、ビルド性とはそれほど強く相関していない。

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

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

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

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