Technical leverage analysis in the Python']Python ecosystem

被引:0
|
作者
Paramitha, Ranindya [1 ]
Massacci, Fabio [1 ,2 ]
机构
[1] Univ Trento, Dept Informat Engn & Comp Sci, Trento, Italy
[2] Vrije Univ Amsterdam, Fdn Secur, Amsterdam, Netherlands
关键词
Dependencies; Software libraries; Technical leverage; Empirical analysis; Vulnerabilities; !text type='Python']Python[!/text] ecosystem; Security; SOFTWARE; COST;
D O I
10.1007/s10664-023-10355-2
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Context: Technical leverage is the ratio between dependencies (other people's code) and own codes of a software package. It has been shown to be useful to characterize the Java ecosystem and there are also studies on the NPM ecosystem available.Objective: By using this metric we aim to analyze the Python ecosystem, how it evolves, and how secure it is, as a developer would perceive it when deciding to adopt or update (or not) a library.Method:We collect a dataset of the top 600 Python packages (corresponding to 21,205 versions) and used a number of innovative approaches for its analysis including the use of a two-part statistical model to deal with excess zeros, a mathematical closed formulation to estimate vulnerabilities that we confirm with bootstrapping on the actual dataset.Results: Small Python package versions have a median technical leverage of 6.9x their own code, while bigger package versions rely on dependencies code a tenth of their own (median leverage of 0.1). In terms of evolution, Python packages tend to have stable technical leverage through their evolution (once highly leveraged, always leveraged). On security, the chance of getting a safe package version when choosing a package is actually better than previous research has shown based on the ratio of safe package versions in the ecosystem.Coclusions: Python packages ship a lot of other people's code and tend to keep doing so. However, developers will have a good chance to choose a safe package version.
引用
下载
收藏
页数:31
相关论文
共 50 条
  • [31] Python']Python Scripting for CIAO Data Analysis
    Galle, Elizabeth C.
    Anderson, Craig S.
    Bonaventura, Nina R.
    Burke, D. J.
    Fruscione, Antonella
    Lee, Nicholas P.
    McDowell, Jonathan C.
    ASTRONOMICAL DATA ANALYSIS SOFTWARE AND SYSTEMS XX, 2011, 442 : 131 - 134
  • [32] Python']Python Packages for Exploratory Factor Analysis
    Persson, Isaiah
    Khojasteh, Jam
    STRUCTURAL EQUATION MODELING-A MULTIDISCIPLINARY JOURNAL, 2021, 28 (06) : 983 - 988
  • [33] PYCHEM: a multivariate analysis package for python']python
    Jarvis, Roger M.
    Broadhurst, David
    Johnson, Helen
    O'Boyle, Noel M.
    Goodacre, Royston
    BIOINFORMATICS, 2006, 22 (20) : 2565 - 2566
  • [34] DynaPyt: A Dynamic Analysis Framework for Python']Python
    Eghbali, Aryaz
    Pradel, Michael
    PROCEEDINGS OF THE 30TH ACM JOINT MEETING EUROPEAN SOFTWARE ENGINEERING CONFERENCE AND SYMPOSIUM ON THE FOUNDATIONS OF SOFTWARE ENGINEERING, ESEC/FSE 2022, 2022, : 760 - 771
  • [35] The Multitaper Spectrum Analysis Package in Python']Python
    Prieto, German A.
    SEISMOLOGICAL RESEARCH LETTERS, 2022, 93 (03) : 1922 - 1929
  • [36] Exploration of Teaching Method of Python']Python Programming Based on the Case of Technical Problem
    Zhao, Guanghui
    Zhao, Shumin
    Zou, Chengming
    Wang, Zhaoxia
    2017 12TH INTERNATIONAL CONFERENCE ON COMPUTER SCIENCE AND EDUCATION (ICCSE 2017), 2017, : 600 - 603
  • [37] Investigating the Relationship between Co-occurring Technical Debt in Python']Python
    Tan, Jie
    Feitosa, Daniel
    Avgeriou, Paris
    2020 46TH EUROMICRO CONFERENCE ON SOFTWARE ENGINEERING AND ADVANCED APPLICATIONS (SEAA 2020), 2020, : 487 - 494
  • [38] The mitochondrial genome sequence analysis of Ophidascaris baylisi from the Burmese python']python (Python']Python molurus bivittatus)
    Zhao, Qi
    Abuzeid, Asmaa M., I
    He, Long
    Zhuang, Tingting
    Li, Xiu
    Liu, Jumei
    Zhu, Shilan
    Chen, Xiaoyu
    Li, Guoqing
    PARASITOLOGY INTERNATIONAL, 2021, 85
  • [39] Python']Python Programmers Have GPUs too Automatic Python']Python Loop Parallelization with Staged Dependence Analysis
    Jacob, Dejice
    Trinder, Phil
    Singer, Jeremy
    PROCEEDINGS OF THE 15TH ACM SIGPLAN INTERNATIONAL SYMPOSIUM ON DYNAMIC LANGUAGES (DLS '19), 2019, : 42 - 54
  • [40] Python']Python Materials Genomics (pymatgen): A robust, open-source python']python library for materials analysis
    Ong, Shyue Ping
    Richards, William Davidson
    Jain, Anubhav
    Hautier, Geoffroy
    Kocher, Michael
    Cholia, Shreyas
    Gunter, Dan
    Chevrier, Vincent L.
    Persson, Kristin A.
    Ceder, Gerbrand
    COMPUTATIONAL MATERIALS SCIENCE, 2013, 68 : 314 - 319