arrow
Return

Identification of important software based on software dependency graph

delete2025-07-16
delete0
PRE
AI
X
Xiaotong Hu
Z
Ziwei Chen
L
Lingyun Situ *
X
Xuelian Pan
J
Jin Shi
DOI:10.1007/s11192-025-05366-3delete
deleteOriginal
deleteOriginal request for help
deleteShare
deleteSave
Abstract

Abstract

En 中文
Software dependency graphs can provide strong evidence of how software is used in development, thereby identifying important software in the community. In this paper, we construct a software dependency graph consisting of 258,437 Python software nodes and 983,788 dependency edges using PyPI data and propose a systematic metrics framework to assess the importance of software based on the dependency graph, incorporating metrics such as breadth, depth, mediation, stability, and an overall comprehensive score. We conducted the experimental to demonstrate the effectiveness and efficiency of the proposed metrics framework in comparison to SOTA methods and 95 out of the 100 important software we identified are recognized by the community. Several key findings emerged from our analysis. (1) Important software with related functionalities tends to be introduced concurrently, and voting mechanisms can enhance differentiation between them. (2) Important software is generally distributed in upstream and midstream positions within the software dependency graph. (3) Software with the same indirect dependencies but more intricate network structures suggests better ecological sustainability. (4) Compared to traditional methods based on objective metrics such as GitHub stars or project maintenance frequency, our graph-based metrics exhibit higher accuracy and greater interpretability.
Keywords:
Software impact
Software identification
Software supply chain
Software dependency graph

Journal

Scientometrics cover
Scientometrics
IF:
3.5
Papers:
8.1K
Citations:
2.2W

Organization

S
School of Information Management
Scholars:
152
Papers: 67
Citations: 0
S
School of Software
Scholars:
360
Papers: 144
Citations: 0