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.
3
datasets available to search
ShareScore release 0.7.1
Dataset results
3 results for “Black-box testing”
Flakify: A Black-Box, Language Model-based Predictor for Flaky Tests – Replication Package
<p>This is the replication package associated with the paper: <em>Flakify: A Black-Box, Language Model-based Predictor for Flaky Tests.</em> We explain how to use it to reproduce the results reported in the paper. A maintainable version of this replication package is available on GitHub (<a href="https://github.com/uOttawa-Nanda-Lab/Flakify">https://github.com/uOttawa-Nanda-Lab/Flakify</a>).</p> <p><strong>Flakify Test Smell Detector</strong></p> <p>This is a step-by-step guideline to detect test smells in the source code of test cases and retain statements that match them.</p> <p><em><strong>Requirements:</strong></em></p> <ul> <li>Eclipse IDE (the version we used was 2021-12)</li> <li>The libraries (the <strong><em>.jar</em></strong> files in the <strong><code>lib\</code></strong> directory)</li> </ul> <p><em><strong>Input Files:</strong></em></p> <p>This is a list of input files that are required to accomplish this step:</p> <ul> <li> <p><em>dataset/FlakeFlagger/FlakeFlagger_filtered_dataset.csv</em></p> </li> <li> <p><em>dataset/FlakeFlagger/FlakeFlagger_class_files/</em></p> </li> <li> <p><em>dataset/IDoFT/IDoFT_filtered_dataset.csv</em></p> </li> <li> <p><em>dataset/IDoFT/IDoFT_class_files/</em></p> </li> </ul> <p>The <strong><code>dataset/FlakeFlagger/FlakeFlagger_filtered_dataset.csv</code></strong> and <strong><code>dataset/IDoFT/IDoFT_filtered_dataset.csv</code></strong> are used to obtain the label (<em>flaky</em>=1 or <em>non-flaky</em>=0) and project name for each test case parsed from <strong><code>dataset/FlakeFlagger/FlakeFlagger_class_files/</code></strong> and <strong><code>dataset/IDoFT/IDoFT_class_files/</code></strong>, respectively.</p> <p><strong><em>Output Files:</em></strong></p> <ul> <li> <p><em>dataset/FlakeFlagger/FlakeFlagger_dataset.csv</em></p> </li> <li> <p><em>dataset/FlakeFlagger/FlakeFlagger_test_cases_full_code/</em></p> </li> <li> <p><em>dataset/FlakeFlagger/FlakeFlagger_test_cases_preprocessed_code/</em></p> </li> <li> <p><em>dataset/IDoFT/IDoFT_dataset.csv</em></p> </li> <li> <p><em>dataset/IDoFT/IDoFT_test_cases_full_code/</em></p> </li> <li> <p><em>dataset/IDoFT/IDoFT_test_cases_preprocessed_code/</em></p> </li> </ul> <p> </p> <p><strong>Replicating the experiment</strong></p> <p>To detect test smells and retain only code statements related to them, the <strong><code>src/FlakifySmellsDetector.java</code></strong> file should be compiled and run using the Eclipse IDE by having all the <em>.jar</em> files in the classpath.</p> <p>The pre-generated executable Jar file <strong><code>src/FlakifySmellsDetector.jar</code></strong> can be executed using the shell script <strong><code>src/FlakifySmellsDetector.sh</code></strong> after changing paths for each dataset as needed, using the following commands:</p> <pre><code class="language-bash">bash FlakifySmellsDetector.sh FlakeFlagger bash FlakifySmellsDetector.sh IDoFT</code></pre> <p>It will generate the dataset required to run Flakify's flaky test prediction model for the datasets given as input. The class file containing each of the test cases is then parsed to produce the corresponding full code and pre-processed code of the test case. The full and pre-processed source code of all test cases are also combined and saved in a CSV file, along with test smells found, project names, and labels.</p> <p> </p> <p><strong>Flakify Replication</strong></p> <p>This is the guideline for replicating the experiments we used to evaluate Flakify for classifying test cases as <em>flaky</em> and <em>non-flaky</em> using both cross-validation and per-project validation.</p> <p><em><strong>Requirements:</strong></em></p> <p>This is a list of all required python packages:</p> <ul> <li><em>python =3.8.5</em></li> <li><em>imbalanced_learn= 0.8.1</em></li> <li><em>numpy= 1.19.5</em></li> <li><em>pandas= 1.3.3</em></li> <li><em>transformer= 4.10.2</em></li> <li><em>torch=1.5.0</em></li> <li><em>scikit_learn= 0.22.1</em></li> </ul> <p><em><strong>Input Files:</strong></em></p> <p>This is a list of input files that are required to accomplish this step:</p> <ul> <li><em>dataset/FlakeFlagger/Flakify_FlakeFlagger_dataset.csv</em></li> <li><em>dataset/IDoFT/Flakify_IDoFT_dataset.csv</em></li> </ul> <p>This file contains the full code and pre-processed code of the test cases in both FlakeFlagger and IDOFT datasets, along with their ground truth labels (<em>flaky</em> and <em>non-flaky</em>).</p> <p><em><strong>Output File:</strong></em></p> <ul> <li> <p><em>results/Flakify_cross_validation_results_on_FlakeFlagger_dataset.csv</em></p> </li> <li> <p><em>results/Flakify_per_project_results_on_FlakeFlagger_dataset.csv</em></p> </li> <li> <p><em>results/Flakify_model_trained_on_FlakeFlagger_dataset.pt</em></p> </li> <li> <p><em>results/Flakify_cross_validation_results_on_IDoFT_dataset.csv</em></p> </li> <li> <p><em>results/Flakify_per_project_results_on_IDoFT_dataset.csv</em></p> </li> <li> <p><em>results/Flakify_model_trained_on_IDoFT_dataset.pt</em></p> </li> </ul> <p> </p> <p><strong>Replicating Flakify experiments</strong></p> <p><strong>Cross-Validation</strong></p> <p>To run the Flakify experiment using cross-validation on the two datasets, navigate to <code>src\</code> folder and run the following commands:</p> <pre><code class="language-bash">bash Flakify_predictor_cross_validation.sh FlakeFlagger bash Flakify_predictor_cross_validation.sh IDoFT</code></pre> <p>This will generate the classification results into <strong><code>results/Flakify_cross_validation_results_on_FlakeFlagger_dataset.csv</code></strong> and <strong><code>results/Flakify_cross_validation_results_on_IDoFT_dataset.csv</code></strong> for the cross-validation experiments on both datasets. It will also save the weights of the two models trained on the FlakeFlagger and IDoFT datasets into <strong><code>results/Flakify_model_trained_on_FlakeFlagger_dataset.pt</code></strong> and <code><strong>results/Flakify_model_trained_on_IDoFT_dataset.pt</strong></code>, respectively.</p> <p> </p> <p><strong>Per-project Validation</strong></p> <p>To run the Flakify experiment using per-project validation on the two datasets, navigate to <code>src\</code> folder and run the following commands:</p> <pre><code class="language-bash">bash Flakify_predictor_per_project.sh FlakeFlagger bash Flakify_predictor_per_project.sh IDoFT</code></pre> <p>This will generate the classification results into <strong><code>results/Flakify_per_project_results_on_FlakeFlagger_dataset.csv</code></strong> and <strong><code>results/Flakify_per_project_results_on_IDoFT_dataset.csv</code></strong> for the whole per-project validation experiments on both datasets.</p> <p> </p> <p><strong>FlakeFlagger Replication</strong></p> <p>This is the guideline for replicating the experiments we used to evaluate the two versions of FlakeFlagger, white-box and black-box, for classifying test cases as <em>flaky</em> and <em>non-flaky</em> using cross-validation on the FlakeFlagger dataset.</p> <p><em><strong>Requirements:</strong></em></p> <p>This is a list of all required python packages:</p> <ul> <li><em>python =3.8.5</em></li> <li><em>imbalanced_learn= 0.8.1</em></li> <li><em>pandas= 1.3.3</em></li> <li><em>scikit_learn= 0.22.1</em></li> </ul> <p><em><strong>Input File:</strong></em></p> <p>This is a list of input files that are required to accomplish this step:</p> <ul> <li><em>dataset/FlakeFlagger/FlakeFlagger_filtered_dataset.csv</em></li> <li><em>dataset/FlakeFlagger/FlakeFlaggerFeaturesTypes.csv</em></li> <li><em>dataset/FlakeFlagger/Information_gain_per_feature.csv</em></li> </ul> <p><em><strong>Output File:</strong></em></p> <ul> <li><em>results/FlakeFlagger_black-box_results.csv</em></li> <li><em>results/FlakeFlagger_white-box_results.csv</em></li> </ul> <p> </p> <p><strong>Replicating FlakeFlagger experiments</strong></p> <p>To run the FlakeFlagger experiments, navigate to <code>src\</code> folder and run the following command:</p> <pre><code class="language-bash">bash FlakeFlagger_predictor.sh white-box bash FlakeFlagger_predictor.sh black-box</code></pre> <p>This will generate the classification results into <strong><code>results/FlakeFlagger_white-box_results.csv</code> </strong>and <strong><code>results/FlakeFlagger_black-box_results.csv</code> </strong>for both white-box and black-box experiments, respectively.</p>
LTM: Scalable and Black-box Similarity-based Test Suite Minimization based on Language Models - Replication Package
<p>LTM: Scalable and Black-box Similarity-based Test Suite Minimization based on Language Models</p> <p>This is the replication package associated with the paper "LTM: Scalable and Black-box Similarity-based Test Suite Minimization based on Language Models".</p> <p><strong>Replication Package Contents:</strong></p> <p>This replication package contains all the necessary data and code required to reproduce the results reported in the paper. We provide the results of the Fault Detection Rate (FDR), Total Minimization Time (MT), Time Saving Rate (TSR) , statistical tests for all the minimization budgets (i.e., 25%, 50%, and 75%), results for the preliminary study, results for UniXcoder/Cosine with preprocessed code on 16 projects.</p> <p><strong>Data:</strong></p> <p>We provide in the <em><strong>Data</strong></em> directory the data used in our experiments, which is the source code of test cases (Java test methods) of 17 projects collected from Defects4J.</p> <p><strong>Code:</strong></p> <p>We provide in the<em> <strong>Code</strong> </em>directory the code (Python) and bash files required to run the experiments and reproduce the results.</p> <p><strong>Results:</strong></p> <p>We provide in the<em> <strong>Results </strong></em>directory the detailed results for our approach (called LTM). We also provide the summarized results of LTM and a baseline (ATM) for comparison purposes. Additional technical details about ATM can be found at https://zenodo.org/record/7455766.</p> <p><strong>_________________________________</strong></p> <p><strong>LTM's Similarity Measurement:</strong></p> <p>The source code of this step is in the <strong><em>Code/LTM/Similarity</em></strong> directory.</p> <p><strong>Requirements:</strong></p> <p>To run this step, Python 3 is required (we used Python 3.10). Also, the required libraries in the <em><strong>Code/LTM/Similarity/requirements.txt</strong></em> file should be installed, as follows:</p> <p>cd Code/LTM/Similarity</p> <p>pip install -r requirements.txt</p> <p><strong>Input:</strong></p> <ul> <li>Data/LTM/TestMethods</li> </ul> <p><strong>Output:</strong></p> <ul> <li>Data/LTM/similarity_measurements</li> </ul> <p><strong>Running the experiment:</strong></p> <p>To measure the similarity between all pairs of test cases, the following bash script should be executed:</p> <p>bash measure_similarity.sh</p> <p>The source code of test methods of each project in the <strong><em>Data/LTM/TestMethods</em></strong> is parsed to generate pairs of test cases. This steps includes test methods tokenization, test methods embeddings extraction and similarity calculation. Then, all similarity scores are stored in <em><strong>Data/LTM/similarity_measurements</strong></em> folder. Due to the large size of the calculated similarity scores (60 GB), they were not uploaded on Zenodo, but they can be available upon request.</p> <p><strong>LTM's Test Suite Minimization:</strong></p> <p>The source code of this step is in the Code/LTM/Search directory.</p> <p><strong>Requirements:</strong></p> <p>To run this step, Python 3 is required (we used Python 3.10). Also, the required libraries in the <strong><em>Code/LTM/Search/requirements.txt</em></strong> file should be installed, as follows:</p> <p>cd Code/LTM/Search</p> <p>pip install -r requirements.txt</p> <p><strong>Input:</strong></p> <p>Data/LTM/similarity_measurements</p> <p><strong>Output:</strong></p> <p>Results/LTM/minimization_results</p> <p><strong>Running the experiments:</strong></p> <p>To minimize the test suite for each project version, the following bash script should be executed:</p> <p>bash minimize.sh</p> <p>The similarity scores of all test case pairs per project version are parsed by the search algorithm (Genetic Algorithm). Each experiment runs ten times using three minimization budgets (25%, 50%, and 75%). The results are stored in the <em><strong>Results/LTM/minimization_results</strong></em> directory.</p> <p><strong>LTM's Evaluation:</strong></p> <p>To evaluate the minimization results for each version and each project, the following bash script should be executed:</p> <p>cd Code/LTM/Evaluation</p> <p>bash evaluate_per_version.sh</p> <p>cd Code/LTM/Evaluation</p> <p>bash evaluate_per_project.sh</p> <p>This will evaluate the FDR, MT and TSR results for each version and each project for each minimization budget. These results are stored in the <em><strong>Results/LTM</strong></em> directory.</p> <p>Note that for each version, the FDR is either 1 or 0. For each project, the FDR ranges from 0 to 1.</p>
ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolutionary Search – Replication Package
<p>This is the replication package associated with the paper "<em>ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolutionary Search</em>" accepted at the 45th IEEE/ACM International Conference on Software Engineering (ICSE 2023) – Technical Track. Cite this paper using the following:</p> <p><em>@inproceedings{pan2023atm,<br> title={ATM: Black-box Test Case Minimization based on Test Code Similarity and Evolutionary Search},<br> author={Pan, Rongqi and Ghaleb, Taher A. and Briand, Lionel},<br> booktitle={Proceedings of the 45th IEEE/ACM International Conference on Software Engineering},<br> year={2023},<br> pages={1--12}<br> }</em></p> <p><strong>Replication Package Contents:</strong><br> The replication package contains all the necessary data and code required to reproduce the results reported in the paper. We also provide the results for other minimization budgets, and detailed <em>FDR,</em> execution time, and statistical test results. In addition, we provide the data and code required to reproduce the results of baselines techniques: FAST-R and random minimization.</p> <p><strong>Data:</strong><br> We provide in the <em><strong>Data</strong></em> directory the data used in our experiments, which is based on 16 projects from <a href="https://github.com/rjust/defects4j">Defects4J</a>, whose characteristics can be found in <em><strong>Data/subject_projects.csv</strong></em><em>.</em></p> <p><strong>Code:</strong><br> We provide in the <em><strong>Code</strong></em> directory the code and scripts (Java, Python, and Bash) required to run the experiments and reproduce the results.</p> <p><strong>Results:</strong><br> We provide in the <em><strong>Results</strong></em> directory the results for each technique independently, and also a summary of all results together for comparison purposes. The source code for this step is in the <em><strong>Code/ATM/CodeToAST</strong></em> directory. The source code for this step is in the <em><strong>Code/ATM/Similarity</strong></em> directory.</p> <p><strong>_________________________________</strong></p> <p><strong>ATM - Code to AST transformation:</strong></p> <p><strong>Requirements:</strong><br> * Eclipse IDE (we used 2021-12)<br> * The libraries (the <em><strong>.jar</strong></em> files in the <em><strong>Code/ATM/CodeToAST/lib</strong></em> directory)</p> <p><strong>Input:</strong><br> All zipped data files should be unzipped before running each step.<br> * Data/test_suites/all_test_cases.zip → Data/test_suites/all_test_cases<br> * Data/test_suites/changed_test_cases.zip → Data/test_suites/changed_test_cases<br> * Data/test_suites/relevant_test_cases.zip → Data/test_suites/relevant_test_cases</p> <p><strong>Output:</strong><br> * Data/ATM/ASTs/all_test_cases<br> * Data/ATM/ASTs/changed_test_cases</p> <p><strong>Running the experiment:</strong><br> To generate ASTS for all test cases in the project test suites, the <em><strong>Code/ATM/CodeToAST/src/CodeToAST.java</strong></em> file should be compiled and run using the Eclipse IDE by including all the required <em><strong>.jar</strong></em> files in the <em><strong>Code/ATM/CodeToAST/lib</strong></em> directory as part of the classpath. A bash script is provided along with a pre-generated <em><strong>.jar</strong></em> file in the <em><strong>Code/ATM/CodeToAST/bin</strong></em> directory to run this step, as follows:</p> <pre><code class="language-bash">cd Code/ATM/CodeToAST bash transform_code_to_ast.sh</code></pre> <p>Each test file in the <em><strong>Data/test_suites/all_test_cases</strong></em> and <em><strong>Data/test_suites/changed_test_cases</strong></em> directories is parsed to generate a corresponding AST for each test case method (saved in an XML format in <strong>Data/ATM/ASTs/all_test_cases</strong> and <em><strong>Data/ATM/ASTs/changed_test_cases</strong></em> for each project version)<br> <strong>_________________________________</strong></p> <p><strong>ATM - Similarity Measurement:</strong></p> <p><strong>Requirements:</strong><br> * Eclipse IDE (we used 2021-12)<br> * The libraries (the <em><strong>.jar</strong></em><strong> </strong>files in the <em><strong>Code/ATM/Similarity/lib</strong></em> directory)<br> <br> <strong>Input:</strong><br> * Data/test_suites/all_test_cases<br> * Data/test_suites/changed_test_cases<br> <br> <strong>Output:</strong><br> * Data/ATM/similarity_measurements<br> <br> <strong>Running the experiment:</strong><br> To measure the similarity between each pair of test cases, the <em><strong>Code/ATM/Similarity/src/SimilarityMeasurement.java</strong></em> file should be compiled and run using the Eclipse IDE by including all the required <em><strong>.jar</strong></em> files in the <em><strong>Code/ATM/Similarity/lib</strong></em> directory as part of the classpath. A bash script is provided along with a pre-generated <em><strong>.jar</strong></em> file in the <em><strong>Code/ATM/Similarity/bin</strong></em> directory to run this step, as follows:</p> <pre><code class="language-bash">cd Code/ATM/Similarity bash measure_similarity.sh</code></pre> <p>ASTs of each project in the <em><strong>Data/ATM/ASTs/all_test_cases</strong></em> and <em><strong>Data/ATM/ASTs/changed_test_cases</strong></em> directories are parsed to create pairs of ASTs containing one test case from the <em><strong>Data/ATM/ASTs/all_test_cases</strong></em> directory with another test case from the <em><strong>Data/ATM/ASTs/changed_test_cases</strong></em> directory (redundant pairs are discarded). Then, all similarity measurements are saved in the <em><strong>Data/ATM/similarity_measurements.zip</strong></em> file.<br> __________________________________________</p> <p><strong>Search-based Minimization Algorithms:</strong><br> The source code for this step is in the <em><strong>Code/ATM/Search</strong></em> directory.<br> <br> <strong>Requirements:</strong><br> To run this step, Python 3 is required (we used <em><strong>Python 3.10</strong></em>). Also, the libraries in the <strong>Code/AMT/Search/requirements.txt</strong> file should be installed, as follows:</p> <pre><code class="language-bash">cd Code/ATM/Search pip install -r requirements.txt</code></pre> <p><strong>Input:</strong><br> * Data/ATM/similarity_measurements<br> <br> <strong>Output:</strong><br> * Results/ATM/minimization_results<br> <br> <strong>Running the experiment:</strong><br> To minimize the test suites in our dataset, the following bash script should be executed:</p> <pre><code class="language-bash">bash minimize.sh</code></pre> <p>All similarity measurements are parsed for each version of the projects, independently. Each version is run 10 times using three minimization budgets (25%, 50%, and 75%). Genetic Algorithm (GA) is run using four similarity measures, namely top-down, bottom-up, combined, and tree edit distance. NSGA-II is run using two combinations of similarity measures: top-down & bottom-up and combined & tree edit distance. The minimization results are generated in the <em><strong>Results/ATM/minimization_results</strong></em> directory.<br> __________________</p> <p><strong>Evaluate results:</strong><br> To evaluate and summarize the minimization results, run the following:</p> <pre><code class="language-bash">cd Code/ATM/Evaluation bash evaluate.sh</code></pre> <p>This will generate summarized <em>FDR</em> and execution time results (per-project and per-version) for each minimization budget, which can all be found in <strong>Results/ATM</strong>. In this replication package, we provide the final, merged <em>FDR</em> with execution time results.</p> <p><strong>_________________________________</strong></p> <p><strong>Running FAST-R experiments</strong><br> ATM was compared to <a href="https://github.com/ICSE19-FAST-R/FAST-R">FAST-R</a>, a state-of-the-art baseline, which is a set of test case minimization techniques called: <em>FAST++, FAST-CS, FAST-pw, and FAST-all</em>, which we adapted to our data and experimental setup.</p> <p><strong>Requirements:</strong><br> To run this step, Python 3.7 is required. Also, the libraries in the <em><strong>Code/FAST-R/requirements.txt</strong></em> file should be installed, as follows:</p> <pre><code class="language-bash">cd Code/FAST-R pip install -r requirements.txt</code></pre> <p><strong>Input:</strong><br> * Data/FAST-R/test_methods<br> * Data/FAST-R/test_classes</p> <p><strong>Output:</strong><br> * Results/FAST-R/test_methods/FDR_and_Exec_Time_Results_[budget]%_budget.csv<br> * Results/FAST-R/test_classes/FDR_and_Exec_Time_Results_[budget]%_budget.csv<br> <br> To run FAST-R experiments, the following bash script should be executed:</p> <pre><code class="language-bash">bash fast_r.sh test_methods #method level bash fast_r.sh test_classes #class level</code></pre> <p>Results are generated in <em><strong>.csv</strong></em> files for each budget. For example, for the 50% budget, results are saved in <strong>FDR_and_Exec_Time_Results_50%_budget.csv</strong> in the <em><strong>Results/FAST-R/test_methods</strong></em> and <em><strong>Results/FAST-R/test_classes</strong></em> directories.</p> <p><strong>_________________________________</strong></p> <p><strong>Running the random minimization experiments</strong><br> ATM was also compared to random minimization as a standard baseline.</p> <p><strong>Requirements:</strong> To run this step, Python 3 is required (we used <em><strong>Python 3.10</strong></em>). Also, the libraries in the <em><strong>Code/RandomMinimization/requirements.txt</strong></em> file should be installed, as follows:</p> <pre><code class="language-bash">cd Code/RandomMinimization pip install -r requirements.txt</code></pre> <p><strong>Input:</strong><br> <em>N/A</em></p> <p><strong>Output:</strong><br> * Results/RandomMinimization/FDR_and_Exec_Time_Results_[budget]%_budget.csv<br> <br> To run the random selection experiments, the following bash script should be executed:</p> <pre><code class="language-bash">bash random_minimization.sh</code></pre> <p>Results are generated in <em><strong>.csv</strong></em> files for each budget. For example, for the 50% budget, results are saved in <em><strong>FDR_and_Exec_Time_Results_50%_budget.csv</strong></em> in the <em><strong>Results/RandomMinimization</strong></em> directory.</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.