遇见数据集

A Deep Dive into Deprecation Declarations in the Rust Package Ecosystem

收藏
Zenodo2025-04-23 更新2026-05-26 收录
官方服务:

资源简介:

A Deep Dive into Deprecation Declarations in the Rust Package Ecosystem This Repository contains the data and scripts used in A Deep Dive into Deprecation Declarations in the Rust Package Ecosystem. DataSet: crateio_dumps: It contains data related to Rust packages exported from crate.io. advisory-db: GAD: GitHub Advisory Database, exported from reviewed adviosry-database repository RAD: RustSec Advisory Databa, exported from Rustsec advisories. OSV: Open Source Vulnerabilities, exported from osv.dev. Scripts: 0_preprocess.ipynb: This script handles data preprocessing, including the extraction of dependency relationships between packages and the filtering of libraries for further analysis. 1_RQ1.ipynb: This script documents the process of identifying inactive libraries and calculating their direct downstream packages. 2_RQ1.ipynb: This script records the steps for identifying deprecated libraries from the set of inactive libraries, categorized by types of deprecation declarations. 3_RQ2.ipynb: This script analyzes changes in the number of direct downstream packages after a library is marked as deprecated. It evaluates whether deprecation declarations influence downstream clients to drop or adopt dependencies on the deprecated library. 4_RQ3.ipynb: This script contains the code for extracting defect records related to deprecated libraries from the advisory-db. Folders: ./crateio_dumps: Contains the decompressed tables from the crateio_dumps dataset. ./images: Stores all figures generated by the scripts, intended for use in the paper. ./inner_result: Stores intermediate data generated during processing. ./log: Contains temporary log files generated during script execution. ./RQ1: Stores key result data related to RQ1 generated by 1_RQ1.ipynb and 2_RQ1.ipynb. The file keywords.xlsx lists the keywords used to filter package README files and descriptions. ./RQ2: Contains important result data related to RQ2 generated by 3_RQ2.ipynb. The osv subfolder stores the extracted OSV dataset records for each vulnerability. ./RQ3: The file Survey Answer.xlsx contains responses from 53 participants to the survey. The folder advisory-db-keyword-filter stores defect records filtered from GAD and RAD. utils: parse_version.py provides functions for parsing semantic version strings, while vercmp.py provides functions for comparing the order of semantic version strings.

# Rust包生态系统中弃用声明的深度剖析 本仓库包含《Rust包生态系统中弃用声明的深度剖析》一文所使用的数据集与脚本。 ### 数据集 #### crateio_dumps 该数据集包含从crates.io导出的Rust包相关数据。 #### advisory-db - GAD:GitHub Advisory Database(GitHub 咨询数据库),从已审核的咨询数据库仓库导出 - RAD:RustSec Advisory Database(RustSec 咨询数据库),从Rustsec咨询库导出 - OSV:Open Source Vulnerabilities(开源漏洞数据库,OSV),从osv.dev导出 ### 脚本 #### 0_preprocess.ipynb 该脚本负责数据预处理工作,包括提取包间依赖关系并筛选出用于后续分析的库。 #### 1_RQ1.ipynb 该脚本记录了识别非活跃库并计算其直接下游依赖包的流程。 #### 2_RQ1.ipynb 该脚本记录了从非活跃库集合中识别弃用库的步骤,并按弃用声明类型进行分类。 #### 3_RQ2.ipynb 该脚本分析了库被标记为弃用后其直接下游依赖包数量的变化,评估弃用声明是否会促使下游客户端移除或继续依赖该被弃用库。 #### 4_RQ3.ipynb 该脚本包含从advisory-db中提取与弃用库相关的缺陷记录的代码。 ### 文件夹 #### ./crateio_dumps 存放从crateio_dumps数据集中解压得到的表格文件。 #### ./images 存储所有脚本生成的图表,用于论文撰写。 #### ./inner_result 存储处理过程中生成的中间数据。 #### ./log 包含脚本执行过程中生成的临时日志文件。 #### ./RQ1 存储由1_RQ1.ipynb与2_RQ1.ipynb生成的与研究问题1(RQ1)相关的关键结果数据。其中的"keywords.xlsx"文件列出了用于筛选包README文件与描述的关键词。 #### ./RQ2 包含由3_RQ2.ipynb生成的与研究问题2(RQ2)相关的重要结果数据。其子文件夹"osv"存储了提取得到的各漏洞对应的OSV数据集记录。 #### ./RQ3 其中的"Survey Answer.xlsx"文件包含了53名参与者的调查问卷回复。其下的"advisory-db-keyword-filter"文件夹存储了从GAD与RAD中筛选得到的缺陷记录。 ### utils `parse_version.py`提供了语义化版本字符串的解析函数,`vercmp.py`则提供了语义化版本字符串的顺序比较函数。

提供机构:
Zenodo
创建时间:
2025-04-23
二维码
社区交流群
二维码
科研交流群
商业服务