A Deep Dive into Deprecation Declarations in the Rust Package Ecosystem
收藏资源简介:
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.



