Find research datasets worth reusing
Search datasets from major research repositories and use ShareScore to quickly assess how well each record supports discovery, access, and reuse.
260
datasets available to search
ShareScore release 0.9.0
Dataset results
260 results for “, empirical studies”
Dataset of the Paper "Architecture Decisions in Quantum Software Systems: An Empirical Study on Stack Exchange and GitHub"
<p>This dataset was collected from GitHub and Stack Exchange (including Stack Overflow, Quantum Computing Stack Exchange, and Computer Science Stack Exchange) to conduct an empirical study on architecture decisions in quantum software systems. We provide below a brief description of each file:</p><p><strong>1. Dataset (GitHub).xlsx</strong></p><p>contains selected quantum software projects from GitHub with project names, issue IDs, and issue URLs and the data extracted from the GitHub issues that are related to architecture decisions in quantum software development.</p><p><strong>2. Dataset (SO).xlsx</strong></p><p>contains the IDs and URLs of Stack Overflow (SO) labeled posts and the extracted data from the Stack Overflow posts that are related to architecture decisions in quantum software development.</p><p><strong>3. Dataset (QC).xlsx</strong></p><p>contains the IDs and URLs of Quantum Computing (QC) Stack Exchange labeled posts and the extracted data from the Quantum Computing Stack Exchange posts that are related to architecture decisions in quantum software development.</p><p><strong>4. Dataset (CS).xlsx</strong></p><p>contains the IDs and URLs of Computer Science (CS) Stack Exchange labeled posts and the extracted data from the Computer Science Stack Exchange posts that are related to architecture decisions in quantum software development.</p><p><strong>5. Extracted Data (GitHub+SO+QC+CS).xlsx</strong></p><p>provides the final results of data extracted from the related GitHub issues, SO posts, QC posts, and CS posts.</p>
Artifact for "Understanding Misconfigurations in ROS: An Empirical Study and Current Approaches"
Open the record for dataset details and reuse information.
Bridging the Language Gap: An Empirical Study of Bindings for Open Source Machine Learning Libraries in Software Package Ecosystems
<p>Replication package for the paper "Bridging the Language Gap: An Empirical Study of Bindings for Open Source Machine Learning Libraries in Software Package Ecosystems "</p>
Dataset of "How to Communicate when Submitting Patches: an Empirical Study of the Linux Kernel"
<p>This repository includes the data of the paper "How to Communicate when Submitting Patches: an Empirical Study of the Linux Kernel".</p> <p>It contains three parts:</p> <p>1) The related online documents.</p> <p>2) The survey results.</p> <p>3) The classified patches of LKML.</p> <p> </p> <p></p>
An Empirical Study on the Impact of Refactoring Activities on Evolving Client-Used APIs
<p>Context: Refactoring is recognized as an effective practice to maintain evolving software systems. For software libraries, we study how library developers refactor their Application Programming Interfaces (APIs), especially when it impacts client users by breaking an API of the library. Objective: Our work aims to understand how clients that use a library API are affected by refactoring activities. We target popular libraries that potentially impact more library client users. Method: We distinguish between library APIs based on their client-usage (refereed to as client-used APIs) in order to understand the extent to which API breakages relate to refactorings. Our tool-based approach allows for a large-scale study across eight libraries (i.e., totaling 183 consecutive versions) with around 900 clients projects. Results: We find that library maintainers are less likely to break client-used API classes. Quantitatively, we find that refactoring activities break less than 37% of all client-used APIs. In a more qualitative analysis, we show two documented cases of where non-refactoring API breaking changes are motivated other maintenance issues (i.e., bug fix and new features) and involve more complex refactoring operations. Conclusion: Using our automated approach, we find that library developers are less likely to break APIs and tend to break client-used APIs when addressing these maintenance issues.</p>
Data accompanying "An empirical pipeline for choosing the optimal clustering threshold in RADseq studies"
<p>Data files accompanying "An empirical pipeline for choosing the optimal clustering threshold in RADseq studies"</p>
Dataset of "how to communicate when submitting patches: an Empirical Study of the Linux Kernel"
<p>This repository includes the data of the paper "How to Communicate when Submitting Patches: an Empirical Study of the Linux Kernel".</p> <p>It contains three parts:</p> <p>1) Related online documents.</p> <p>2) Original questionnaire of the survey.</p> <p>3) Survey results.</p>
ICSE 2025 Artifact for "An Empirical Study on Package-Level Deprecation in Python Ecosystem"
<div> <h1>Artifact</h1> <div>This artifact includes the source code and data needed to reproduce the results of our paper.</div> <h2>Files</h2> <div> <ul> <li><strong>inactive_task</strong>: This folder contains the dataset we collected, including:</li> </ul> </div> <ul> <li> <ul> <li>A list of all packages in PyPI as of 2023.1.9 in <strong>all_package.json</strong></li> <li>A list of halted packages in <strong>halted_packages.pkl</strong></li> <li>A list of packages that haven't received any commit for a long time in <strong>long_time_no_commit.json</strong></li> <li>A list of inactive packages and their corresponding GitHub repositories in <strong>inactive_pkg_repo_list.json</strong></li> <li>A mapping of packages to their corresponding GitHub links in <strong>pgk2url.json</strong></li> <li>A dataset with details in <strong>deprecation_dataset/</strong>, which includes rationales, alternative solutions, and package characteristics (RQ1). Click [here](inactive_task/deprecation_dataset/README.md) for more details.</li> </ul> </li> </ul> <div> <ul> <li><strong>ghd_dataset</strong>: This folder contains the dependency information for PyPI, which we used to build the dependency network. Please unzip the file before use.</li> </ul> </div> <div> <ul> <li><strong>down_deps</strong>: The folder contains scripts to process our data, including</li> </ul> </div> <ul> <li> <ul> <li><strong>similar_brothers</strong>: A script to find similar brother packages of deprecated packages.</li> <li><strong>delta_of_downdeps.py</strong>: A script that calculates the gain of downstream dependencies.</li> </ul> </li> <li><strong>regression</strong>: This folder contains scripts for the models that estimate the effect of deprecation announcements, which can be used to reproduce the results of RQ2.</li> <li><strong>questionnaire_data</strong>: The folder includes the questionnaire prototype and responses (RQ3, 4). Click [here](./questionnaire_data/README.md) for more details.</li> </ul> </div>
Dataset for ISSTA'24 An Empirical Study on Kubernetes Operator Bugs
<p>This is the dataset for the ISSTA'24 submission <strong>An Empirical Study on Kubernetes Operator Bugs</strong>. It contains 210 operator bugs collected from 36 popular Kubernetes operators.</p> <p>It can be used to replicate and reproduce the paper's study, as well as to serve as a bug benchmark for future work on combating operator bugs in Kubernetes.</p>
Empirical Study and Vision for a Holistic Serious Game Platform for Software Engineering Education
<p>Serious games are becoming increasingly popular in universities to motivate students. Therefore, more and more lecturers are using game-based learning to encourage students to learn the subject matter. However, using serious games in Software Engineering (SE) lectures at universities is rather challenging as the subject is very practice-oriented and requires special kinds of tasks, e.g., practicing programming, software modeling, etc. Thus, building serious games and integrating such SE-specific tasks is a serious technical challenge and requires immense development effort. Therefore, before developing new games, students' preferences should be analyzed to increase the chances that these games will be played. To address this issue, we conducted an empirical study with 105 students to investigate the requirements and chances for using serious games in SE education in universities. Our analysis shows that students' preferences vary significantly and that there is no clear indication of a single game type that motivates all students equally. Therefore, our second contribution is a vision for a microservice-based Holistic Serious Game Platform for Software Engineering Education, which supports efficiently developing different serious games and integrating SE-specific mini-games and tasks. Hence, our empirical results and the presented approach support advancing research and development of serious SE games and also sensitize game developers to the needs of SE education.</p>
Replication Kit: "Are Unit and Integration Test Definitions Still Valid for Modern Java Projects? An Empirical Study on Open-Source Projects"
<p><strong>Replication Kit for the Paper "Are Unit and Integration Test Definitions Still Valid for Modern Java Projects? An Empirical Study on Open-Source Projects"</strong><br> This additional material shall provide other researchers with the ability to replicate our results. Furthermore, we want to facilitate further insights that might be generated based on our data sets.</p> <p><strong>Structure</strong><br> The structure of the replication kit is as follows:</p> <ul> <li><strong>additional_visualizations</strong>: contains additional visualizations (Venn-Diagrams) for each projects for each of the data sets that we used</li> <li><strong>data_analysis</strong>: contains python scripts that we used to analyze our raw data</li> <li><strong>data_collection_tools</strong>: contains all source code used for the data collection, including the used versions of the <a href="https://github.com/comfort-framework">COMFORT framework</a>, the <a href="https://github.com/ftrautsch/BugFixClassifier">BugFixClassifier</a>, and the used tools of the <a href="https://github.com/smartshark">SmartSHARK environment</a>;</li> <li><strong>mongodb_no_authors</strong>: Archived dump of our MongoDB that we created by executing our data collection tools. The "comfort" database can be restored via the mongorestore command.</li> </ul> <p><br> <strong>Additional Visualizations</strong><br> We provide two additional visualizations for each project:<br> 1) <project_name>\_disj\_ieee\_venn (visualizations for the DISJ data set)<br> 2) <project_name>\_all\_ieee\_venn (visualizations for the ALL data set)</p> <p>For each of these data sets there exist one visualization for each project that shows four Venn-Diagrams for each of the different defect types. These Venn-Diagrams show the number of defects that were detected by either unit, or integration tests (or both).</p> <p>Furthermore, we added boxplots for each of the data sets (i.e., ALL and DISJ) showing the scores of unit and integration tests for each defect type.</p> <p><br> <strong>Analysis scripts</strong><br> Requirements:<br> - python3.5<br> - tabulate<br> - scipy<br> - seaborn<br> - mongoengine<br> - pycoshark<br> - pandas<br> - matplotlib</p> <p>Both python files contain all code for the statistical analysis we performed.</p> <p><strong>Data Collection Tools</strong><br> We provide all data collection tools that we have implemented and used throughout our paper:</p> <ul> <li><strong>BugFixClassifier</strong>: Used to classify our defects.</li> <li><strong>comfort-core</strong>: Core of the comfort framework. Used to classify our tests into unit and integration tests and calculate different metrics for these tests.</li> <li><strong>comfort-jacoco-listner</strong>: Used to intercept the coverage collection process as we were executing the tests of our case study projects.</li> <li><strong>jSHARK</strong>: Library that contains models for the used ORM mapper that is used inside the SmartSHARK environment (for Java).<strong> </strong></li> <li><strong>pycoSHARK</strong>: Library that contains models for the used ORM mapper that is used inside the SmartSHARK environment (for Python).</li> <li><strong>tools-changedistiller</strong>: Version of ChangeDistiller that we used within our comfort-core framework.</li> <li><strong>vcsSHARK</strong>: Used to collect data from the VCSs of the projects.</li> </ul> <p> </p> <p> </p>
Dataset: An empirical study on self-admitted technical debt in modern code review
<pre>This data was used in the IST paper "An Empirical Study on Self-Admitted Technical Debt in Modern Code Review". The program to use this data is published in GitHub (https://github.com/Yutaro-Kashiwa/ReviewSATD_RP) When you use this data in your research, please cite the following papers: ``` @article{Kashiwa:IST:2022:SATD_Review, author = {Yutaro Kashiwa and Ryoma Nishikawa and Yasutaka Kamei and Masanari Kondo and Emad Shihab and Ryosuke Sato and Naoyasu Ubayashi}, title = {An empirical study on self-admitted technical debt in modern code review}, journal = {Information and Software Technology}, volume = {146}, pages = {106855}, year = {2022}, url = {https://doi.org/10.1016/j.infsof.2022.106855}, doi = {10.1016/j.infsof.2022.106855} } ``` </pre>
Dataset of "Poster - BugOss: Regression Bug Benchmark for Empirical Study of Regression Fuzzing Techniques"
<p>Dataset of "Poster - BugOss: Regression Bug Benchmark for Empirical Study of Regression Fuzzing Techniques"</p>
Replication package for our TOSEM paper entitled "An Empirical Study on GitHub Pull Requests' Reactions"
<p>This package contains our dataset and the source code used to collect data from the the top 10,000 most starred GitHub repositories, and the selected six repositories (i.e., Cataclysm-DDA, Julia, Laravel, Node, RPCS3 and Rust), as well as the source code to analyze the data and generate all the figures in the paper. </p> <p>Please carefully read the README.md file for more details.</p>
"Empirical study on Visual Attention Characteristics of basketball players of different levels during free-throw shooting"AOI and Heatmap
<p>“罚球投篮中不同水平篮球运动员视觉注意力特征的实证研究”AOI与热图</p>
Artifacts for the ISSTA 2023 Paper: An Empirical Study on the Effects of Obfuscation on Static Machine Learning-based Malicious JavaScript Detectors
<p>An Empirical Study on the Effects of Obfuscation on Static Machine Learning-Based Malicious JavaScript Detectors</p> <p>This repository contains the evaluation script and the corresponding data of the ISSTA'23 paper "An Empirical Study on the Effects of Obfuscation on Static Machine Learning-Based Malicious JavaScript Detectors".</p> <p>Abstract</p> <p>Machine learning is increasingly being applied to malicious JavaScript detection in response to the growing number of Web attacks and the attendant costly manual identification. In practice, to hide their malicious behaviors or protect intellectual copyrights, both malicious and benign scripts tend to obfuscate their own code before uploading. While obfuscation is beneficial, it also introduces some additional code features (e.g., dead code) into the code. When machine learning is employed to learn a malicious JavaScript detector, these additional features can affect the model to make it less effective. However, there is still a lack of clear understanding of how robust existing machine learning-based detectors are on different obfuscators.</p> <p>In this paper, we conduct the first empirical study to figure out how obfuscation affects machine learning detectors based on static features. Through the results, we observe several findings: 1) Obfuscation has a significant impact on the effectiveness of detectors, causing an increase both in false negative rate (FNR) and false positive rate (FPR), and the bias of obfuscation in the training set induces detectors to detect obfuscation rather than malicious behaviors. 2) The common measures such as improving the quality of the training set by adding relevant obfuscated samples and leveraging state-of-the-art deep learning models can not work well. 3) The root cause of obfuscation effects on these detectors is that feature spaces they use can only reflect shallow differences in code, not about the nature of benign and malicious, which can be easily affected by the differences brought by obfuscation. 4) Obfuscation has a similar effect on realistic detectors in VirusTotal, indicating<br>that this is a common real-world problem.</p> <p>Getting Started</p> <p>Requirements</p> <pre>install python3 version 3.9.12 pip3 install -r requirements.txt install nodejs install npm npm install escodegen npm install esprima</pre> <p>Step 1: Generating PDGs for JStap</p> <p><code>cd detectors/jstap/pdg_generation</code></p> <p><code>python generate_PDGs.py</code></p> <p>Step 2: Getting the results for RQ1: What Impact Does Obfuscation Have on Static Machine Learning Malicious JavaScript Detectors?</p> <p><code>cd RQ1/</code></p> <p>1. Detectors Performance on Obfuscated Samples.</p> <p>To train the models:</p> <p><code>python RQ1_1_train.py</code></p> <p>To get the results:</p> <p><code>python RQ1_1_test.py</code></p> <p>2. Different Machine Learning Algorithms.</p> <p>To train the models:</p> <p><code>python RQ1_2_train.py</code></p> <p>To get the results:</p> <p><code>python RQ1_2_test.py</code></p> <p>3. Biased Training Sets</p> <p>To train the models:</p> <p><code>python RQ1_3_train.py</code></p> <p>To get the results:</p> <p><code>python RQ1_3_test.py</code></p> <p>All the trained models will be stored in RQ1/models/.</p> <p>All the results will be stored in RQ2/results/.</p> <p>Step 3: Getting the results for RQ2: Are the Common Measures to Mitigate the Impact of Obfuscation Effective?</p> <p><code>cd RQ2/</code></p> <p>1. Training and Testing Detectors on Samples with Same Types of Obfuscation.</p> <p>To train the models:</p> <p><code>python RQ2_1_train.py</code></p> <p>To get the results:</p> <p><code>python RQ2_1_test.py</code></p> <p>2. Training and Testing Detectors on Samples with Different Types of Obfuscation.</p> <p>If you follow the steps, the models is already trained.</p> <p>To get the results:</p> <p><code>python RQ2_2_test.py</code></p> <p>3. BERT Variants.</p> <p>To get the results:</p> <p><code>python RQ2_3.py</code></p> <p>All the trained models will be stored in RQ2/models/.</p> <p>All the results will be stored in RQ2/results/.</p> <p> </p> <p>Step 4: Getting the results for RQ3: What Is the Root Cause of Obfuscation Affecting Static Machine Learning Malicious JavaScript Detectors?</p> <p>To get the results of vectors visualization, top ten features, and distances between vectors sets:</p> <p><code>cd RQ3</code></p> <p><code>python visulization.py</code></p> <p>The figures of vectors visualization will be stored in RQ3/results/.</p> <p>Other results will be shown in the console.</p> <p> </p> <p>Step 5: Getting the results for RQ4: How Does Obfuscation Affect Real-world Static Malicious JavaScript Detectors?</p> <p>To get the results, submit the sample under the folder samples/ to <a href="https://www.virustotal.com/gui/home/upload">VirusTotal</a> .</p> <p> </p> <p>Detailed Instructions</p> <p>detectors</p> <p>The detectors under the folder <code>detectors/</code> are the main projects to be evaluated in our paper, which are <strong>CUJO</strong>, <strong>ZOZZLE</strong>, <strong>JAST</strong>, and <strong>JSTAP</strong>.</p> <p>Detailed setup and usage instructions are described in <code>README.md</code> in the corresponding folder.</p> <p>samples</p> <p>The files under the folder <code>samples/</code> are the samples from a random tenth of our dataset used in our paper.</p> <p>Results can be obtained quickly using these samples. These results will not be exactly the same as in the paper, but they are similar.</p> <p>RQ1</p> <p>The code under folder <code>RQ1/</code> is to figure out how obfuscation affects these detectors.</p> <p><code>RQ1_1_train.py</code> is to train four detectors with unobfuscated samples.</p> <p><code>RQ1_1_test.py</code> tests these trained detectors with unobfuscated and obfuscated samples.</p> <p><code>RQ1_2_train.py</code> is to train the detector <strong>ZOZZLE</strong> that uses different machine learning algorithms.</p> <p><code>RQ1_2_test.py</code> tests these trained models with unobfuscated and obfuscated samples.</p> <p><code>RQ1_3_train.py</code> uses a training set with all unobfuscated benign samples and all obfuscated malicious samples, and a training set with all obfuscated benign samples and all unobfuscated malicious samples to train the detectors.</p> <p><code>RQ1_3_test.py</code> uses these detectors to detect unobfuscated benign samples, obfuscated benign samples, unobfuscated malicious samples, and obfuscated malicious samples, respectively.</p> <p>RQ2</p> <p>The code under folder <code>RQ2/</code> is to study the two measures to mitigate the impact of obfuscation effective or not.</p> <p><code>RQ2_1_train.py</code> uses obfuscated samples to train four detectors.</p> <p><code>RQ2_1_test.py</code> tests these detectors on the same type of obfuscated samples.</p> <p><code>RQ2_2_test.py</code> tests thest detectors on the different type of obfuscated samples.</p> <p><code>RQ2_3.py</code> uses the BERT variants to generate code representation of unobfuscated samples, trains the detector with these code representations, and tests the trained detectors with code representations of obfuscated samples.</p> <p>RQ3</p> <p>The code unser fodler <code>RQ3/</code> visualizes the vectors, extracts the ten most important features, and calculates the distance between different sets of vectors.</p> <p>RQ4</p> <p>There is no code related to RQ4 here because the actual operation of RQ4 is to submit the samples to <a href="https://www.virustotal.com/gui/home/upload">VirusTotal</a> .</p> <p> </p> <p>The whole dataset is available at <a href="https://drive.google.com/file/d/1a7pNUwzikiJyY9L7dIu53I6_MR0oDpgi/view?usp=sharing." target="_blank" rel="noopener">https://drive.google.com/file/d/1a7pNUwzikiJyY9L7dIu53I6_MR0oDpgi/view?usp=sharing.</a></p> <p> </p> <p>Cite this work</p> <pre>@inproceedings{staticanalysis, author = {Kunlun Ren, Qiang Weizhong, Yueming Wu, Yi Zhou, Deqing Zou, Hai Jin}, title = {An Empirical Study on the Effects of Obfuscation on Static Machine Learning-Based Malicious JavaScript Detectors}, booktitle = {Proceedings of the 32nd ACM SIGSOFT International Symposium on Software Testing and Analysis (ISSTA'23)}, year = {2023} }</pre> <p> </p>
Two Class Dependency Cycle Empirical Study
<p>This dataset includes 3 folders.</p> <ul> <li>Folder <strong>recurring-patterns</strong> contains successful untangling cases we manually inspect and classify into each pattern. In one instance folder, it contains src code before and after a commit (src/), cyclic files presented in dependency graph before and after a commit (cycle-dependency-change/), all modified files presented in dependency graph before and after a commit (all-modified-files-dependency-change), detailed code diff (diff.txt), and mined refactoring operations from RefactoringMiner 2.0.0 (refactor.json).</li> <li>Folder<strong> common-mistakes</strong> contains cases where dependency cycles are not correctly resolved. The file structure of each instance is the same as above.</li> <li>Folder <strong>design-characteristics </strong>contains a csv file, which list the internal dependency relations of cyclic files and their design context.</li> </ul>
Empirical Study Data for Test Program-Based Generative Fuzzing for Differential Testing of the Kotlin Compiler
<p>Empirical Study Dataset for MSc. Thesis titled "Test Program-Based Generative Fuzzing for Differential Testing of the Kotlin Compiler". The data contains automatically generated Kotlin files, the results of differentially testing the generated files, and aggregated data containing file information, and compilation features.</p>
Applicability of Search-based Algorithms for Model-based Game Play Testing - an Empirical Study
<p>Experimental data used for the study on EvoMBT approach for testing of games.</p>
Replication Package of the Paper: An Empirical Study of Untangling Patterns of Two-Class Dependency Cycles
<p>This is a replication package of the paper: "An Empirical Study of Untangling Patterns of Two-Class Dependency Cycles".</p><p>This replication package contains:</p><ul><li><strong>all-projects.xlsx:</strong> list 38 projects' demographic information.</li><li><strong>rq1-recurring-patterns:</strong> contains successful untangling cases into each pattern we manually inspected. In one case, it contains:<ul><li><strong>src/:</strong> src code before and after a commit</li><li><strong>cycle-dependency-change/: </strong>cyclic files presented in dependency graph before and after a commit</li><li><strong>all-modified-files-dependency-change/:</strong> all modified files presented in dependency graph before and after a commit</li><li><strong>diff.txt:</strong> code diff changes</li><li><strong>refactor.json:</strong> mined refactoring operations from RefactoringMiner 2.0.0.</li></ul></li><li><strong>rq3-counterintuitive-solutions: </strong>contain counterintuitive cases dependency cycles are not resolved. The file structure of each case is the same as above.</li><li><strong>rq2-design-relations</strong> contains:<ul><li><strong>dependency-relations.csv:</strong> dependency relations inside and outside dependency cycle. Column 2-25 contains dependency information inside dependency cycle. Column 26-77 contain dependency information outside dependency cycle.</li><li><strong>dependency-type-inside-cycle.csv </strong>lists <strong>24</strong> unique dependency types inside dependency cycle.</li><li><strong>dependency-type-outside-cycle.csv</strong> lists <strong>52</strong> unique dependency types inside dependency cycle.</li></ul></li><li><strong>SrcCode_CycleUntangleEmpirical:</strong> source code to generate data and replicate the results. It contains a README file to explain the purpose of each module.</li></ul><p> </p><p> </p>
ScienceDex guides
Understand access before you commit
These curated guides explain access requirements, typical timelines, costs, and reuse considerations for widely used research datasets.
Allen Brain Atlas
Allen Brain Atlas is an Allen Institute collection of brain map atlases, datasets, APIs, and analysis tools covering mouse, human, and non-human primate brain resources.
Annotated Behaviour and Observability Dataset (ABODe)
ABODe is a University of Edinburgh DataShare dataset for behavior classification in group-housed mice using home-cage video, identities, bounding boxes, ground-plate positions, and annotator labels.
DANDI Archive for NWB datasets
DANDI is a BRAIN Initiative archive for publishing and sharing neurophysiology data, including electrophysiology, optophysiology, and behavioral data packaged as NWB and related standards.
International Brain Laboratory public data
The International Brain Laboratory public data releases expose standardized mouse decision-making experiments, including Neuropixels recordings, widefield calcium imaging, behavior, and session metadata accessed through the ONE API.
OpenNeuro
OpenNeuro is a free, open platform for sharing neuroimaging datasets, with public search, dataset pages, and download paths for web, S3, DataLad, and the OpenNeuro CLI.