A Deep Dive into Deprecation Declarations in the Rust Package Ecosystem
<p><strong><span>A Deep Dive into Deprecation Declarations in the Rust Package Ecosystem</span></strong></p> <p><span>This Repository contains the data and scripts used in A Deep Dive into Deprecation Declarations in the Rust Package Ecosystem.</span></p> <p><span>DataSet:</span></p> <ul> <li> <p><span>crateio_dumps: It contains data related to Rust packages exported from </span><span><a href="https://crates.io/data-access"><span>crate.io</span></a></span><span>.</span></p> </li> <li> <p><span>advisory-db:</span></p> <ul> <li> <p><span>GAD: GitHub Advisory Database, exported from </span><span><a href="https://github.com/github/advisory-database/tree/mai.n/advisories/github-reviewed"><span>reviewed adviosry-database repository</span></a></span></p> </li> <li> <p><span>RAD: RustSec Advisory Databa, exported from </span><span><a href="%5BAbout%20RustSec%20%E2%80%BA%20RustSec%20Advisory%20Database%5D(https://rustsec.org/)"><span>Rustsec advisories</span></a></span><span>.</span></p> </li> </ul> </li> </ul> <ul> <li> <p><span>OSV: Open Source Vulnerabilities, exported from </span><span><a href="https://osv.dev/list?ecosystem=crates.io"><span>osv.dev</span></a></span><span>.</span></p> </li> </ul> <p><span>Scripts:</span></p> <ul> <li> <p><span><code>0_preprocess.ipynb</code></span><span>: This script handles data preprocessing, including the extraction of dependency relationships between packages and the filtering of libraries for further analysis.</span></p> </li> <li> <p><span><code>1_RQ1.ipynb</code></span><span>: This script documents the process of identifying inactive libraries and calculating their direct downstream packages.</span></p> </li> <li> <p><span><code>2_RQ1.ipynb</code></span><span>: This script records the steps for identifying deprecated libraries from the set of inactive libraries, categorized by types of deprecation declarations.</span></p> </li> <li> <p><span><code>3_RQ2.ipynb</code></span><span>: 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.</span></p> </li> <li> <p><span><code>4_RQ3.ipynb</code></span><span>: This script contains the code for extracting defect records related to deprecated libraries from the advisory-db.</span></p> </li> </ul> <p><span>Folders:</span></p> <ul> <li> <p><span><code>./crateio_dumps</code></span><span>: Contains the decompressed tables from the crateio_dumps dataset.</span></p> </li> <li> <p><span><code>./images</code></span><span>: Stores all figures generated by the scripts, intended for use in the paper.</span></p> </li> <li> <p><span><code>./inner_result</code></span><span>: Stores intermediate data generated during processing.</span></p> </li> <li> <p><span><code>./log</code></span><span>: Contains temporary log files generated during script execution.</span></p> </li> <li> <p><span><code>./RQ1</code></span><span>: Stores key result data related to RQ1 generated by </span><span><code>1_RQ1.ipynb</code></span><span> and </span><span><code>2_RQ1.ipynb</code></span><span>. The file </span><span><code>keywords.xlsx</code></span><span> lists the keywords used to filter package README files and descriptions.</span></p> </li> <li> <p><span><code>./RQ2</code></span><span>: Contains important result data related to RQ2 generated by </span><span><code>3_RQ2.ipynb</code></span><span>. The </span><span><code>osv</code></span><span> subfolder stores the extracted OSV dataset records for each vulnerability.</span></p> </li> <li> <p><span><code>./RQ3</code></span><span>: The file </span><span><code>Survey Answer.xlsx</code></span><span> contains responses from 53 participants to the survey. The folder </span><span><code>advisory-db-keyword-filter</code></span><span> stores defect records filtered from GAD and RAD.</span></p> </li> <li> <p><span><code>utils</code></span><span>: </span><span><code>parse_version.py</code></span><span> provides functions for parsing semantic version strings, while </span><span><code>vercmp.py</code></span><span> provides functions for comparing the order of semantic version strings.</span></p> </li> </ul>
ShareScore
24/100
Overall dataset sharing score
Score breakdown
These five areas show where the dataset supports — or may limit — practical reuse.
- Stewardship
- 4
- Harmonization
- 4
- Access
- 16
- Reuse readiness
- 0
- Engagement
- 0
ScienceDex for faculty
Your academic CV and NIH biosketch
Make your CV in your school's format and your NIH biosketch from it, then download both as Word files.