Science Score: 67.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 6 DOI reference(s) in README -
✓Academic publication links
Links to: sciencedirect.com, springer.com -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.8%) to scientific vocabulary
Repository
RETORCH* Replication package
Basic Info
- Host: GitHub
- Owner: giis-uniovi
- Language: Python
- Default Branch: main
- Size: 560 KB
Statistics
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
- Releases: 0
Metadata Files
README.md
Replication package for 'RETORCH*: A Cost and Resource aware Model for E2E Testing in the Cloud'
This repository contains the replication package of the paper RETORCH*: A Cost and Resource aware Model for E2E Testing in the Cloud published at Journal of Systems and Software
The replication package comprises various Execution Plan raw datasets generated by our Continuous Integration (CI) system, along with the necessary scripts to generate the average datasets and the spreadsheets used to generate the usage profiles for each Execution Plan. The following subsections introduce the package structure and the procedure.
Replication package structure and naming conventions:
The naming conventions are :
- Execution Plans are named using the level of parallelism (e.g., 5parallel, 4parallel, 3parallel).
- JenkinsFiles are named using the Execution Plan name followed by "-Jenkinsfile."
- Execution Plan raw datasets are named with their Execution Plan, followed by "-raw-dataset-" and the execution number.
The replication package is structured as follows:
/raw-datasets: Execution Plan raw datasets generated by the Continuous Integration system. The data is organized into separate sub-folders one for each different Execution Plan ( e.g.,./4parallel,./3parallel, etc.)./scripts: contains all the necessary Python scripting code for calculating the average datasets that are used as input for the cost model sheets./tests: contains different unit test cases that check the different methods contained in the/scriptsdirectory processing and calculating the average datasets from the raw files./generatedatasets.sh/ps1: scripts used to launch the data processing and calculation tasks within the project./avg-datasets: stores the output files generated by processing scripts. Each output file is named according to the Execution Plan that belongs in/raw-datasets(e.g., the file for/raw-datasets/2parallelwill be saved as./2parallel_avg.csv)./profile-template.xlsx: spreadsheet template that enables the Usage Profile calculations and illustrations./jenkinsfiles: holds different JenkinsFiles of the Execution Plans used in the different case studies related.
Experimental Subject
The experimental subject is a real-world application called Fullteaching, used as a demonstrator of the ElasTest EU Project. FullTeaching provides an education platform composed of several test resources, such as web servers, databases, and multimedia servers that allows to create online classrooms, classes or publish and create class resources.
To the best of our knowledge, FullTeaching has two test suites available in different repositories [1] [2]. The test suite used to generate the raw datasets provided in this replication package is a compilation of the available test, cases in these repositories. The test suite, along with the necessary scripts and JenkinsFile required to run the Execution Plan is made available as the version 1.1.0 in the retorch-st-fullteaching GitHub repository.
Treatment Replication Overview
The process consists of two distinct parts: the generation of average Execution Plan datasets performed through several scripts, and the generation of the usage profile using a parameterized stylesheet with the previously calculated datasets. These two parts are detailed below.
Average Execution Plan Datasets generation: This process is accomplished through several scripts that take the raw datasets of each Execution Plan as input, organized in separate folders (one for each different execution plan). The raw datasets contain the start and end times of each Cloud Object Instance and TJob lifecycle. The scripts calculate the average duration of each lifecycle phase and generate a new file (identified by the Execution Plan name plus '_ avg') with the start and end times of each phase based on these calculated averages.
Usage Profile generation: The process takes one of the previously calculated average datasets as input. The dataset is manually incorporated into the stylesheet by the tester, who also parameterizes it according to the Cloud Object Instance they want to analyze (one alternative per stylesheet sheet). The stylesheet produces as output the Usage Profiles, as well as the different costs for each alternative.
Treatment Replication Procedure
There are two options for conducting the replication process:
Using Paper Datasets: provided in the
/raw-datasetsfolder.Execute BYS the different Execution Plans and generate your own datasets using the made available test suite and the execution plans provided.
By following either of these options, you can successfully replicate the treatment and conduct your evaluation.
Generate the average datasets and the Usage Profiles
To replicate the generation of the average datasets and the resource profiles of a concrete parametrization please follow the instructions outlined below:
- From the scripts folder, execute the
/generatedatasets.sh/.ps1script - Create a new Usage Profile stylesheet using the template provided and rename it with an
appropriate name (e.g. OriginalexecutionplanProfile.xlns) and fine-tune the different parameters(outlined in red) :
- Replace the average lifecycle time (A1:L13) with the selected Execution Plan average file (e.g.
/avg-datasets/3parallel_avg.csv) - COI Capacities and Invoiced Prices:
- Contracted_Capacity.Size: Units of capacity provisioned.
- Invoiced_Price.price: Amount in dollars billed for each unit of capacity provisioned.
- BillingOption.BillingPeriod: The time for which billing is calculated.
- Provisioned time: Calculated as COI.Prov.Time - COI.Deprov.Time.
- Test Suite Execution:
- Number of test suite executions per hour.
- Replace the average lifecycle time (A1:L13) with the selected Execution Plan average file (e.g.

- Make as many copies of the Spreadsheet sheet as Cloud Object Instances, and adjust the parameters accordingly, in order get its different costs and usage profiles and compare and analyze them.
Replication procedure outputs
The outputs of the replication procedure are the following:
- The average datasets stored into
/avg-datasets - The Usage Profiles as well as the different utilization and costs (overall, set-up, test execution, tear-down and
overprovisioning) are shown in the bottom of the different sheets :

Generate your own raw Execution Plan datasets
To generate your own raw Execution Plan datasets, you need to create a multibranch pipeline in your Jenkins installation. The replication package provides several Execution Plans that can be used with the FullTeaching Test Suite. To use these Execution Plans, you simply need to replace the JenkinsFile with the desired one and execute it.
The different raw datasets are archived as artifacts and can be downloaded directly. These datasets should be placed in
the /raw-datasets folder within a suitable sub-folder with the Execution Plan name (e.g.,
/raw-datasets/customscheduling).
Next, follow the steps provided in the Generate the average files and the Usage Profiles section.
Contributing
See the general contribution policies and guidelines for giis-uniovi at CONTRIBUTING.md.
Contact
Contact any of the researchers who authored the paper; their affiliation and contact information are provided in the paper itself.
Citing this work
RETORCH*: A Cost and Resource aware Model for E2E Testing in the Cloud:
- Cristian Augusto, Jesús Morán, Antonia Bertolino, Claudio de la Riva, and Javier Tuya, “RETORCH: A Cost and Resource aware Model for E2E Testing in the Cloud”, *Journal of Systems and Software, vol. 221 , pages. 112237, 2025. https://doi.org/10.1016/j.jss.2024.112237 - Full Paper available - Authors version - Download citation
RETORCH E2E Test Orchestration framework:
- Cristian Augusto, Jesús Morán, Antonia Bertolino, Claudio de la Riva, and Javier Tuya, “RETORCH: an approach for resource-aware orchestration of end-to-end test cases”, Software Quality Journal, vol. 28, no. 3, 2020. https://doi.org/10.1007/s11219-020-09505-2 - Full Paper available - Authors version - Download citation
Acknowledgments
This work has been developed under the TestBUS (PID2019-105455GB-C32) and EQUAVEL (PID2022-137646OB-C32) projects, both supported by the Ministry of Science and Innovation (SPAIN)
Owner
- Name: GIIS
- Login: giis-uniovi
- Kind: organization
- Location: Spain
- Website: http://giis.uniovi.es
- Repositories: 17
- Profile: https://github.com/giis-uniovi
Software Engineering Research Group - University of Oviedo, ES
Citation (CITATION.cff)
cff-version: 1.2.0
message: "If you cite this replication package, please cite it as below."
authors:
- family-names: "Augusto"
given-names: "Cristian"
orcid: "https://orcid.org/0000-0001-6140-1375"
- family-names: "Morán"
given-names: "Jesús"
orcid: "https://orcid.org/0000-0002-7544-3901"
- family-names: "Bertolino"
given-names: "Antonia"
orcid: "https://orcid.org/0000-0001-8749-1356"
- family-names: "De la Riva"
given-names: "Claudio"
orcid: "https://orcid.org/0000-0001-5592-9683"
- family-names: "Tuya"
given-names: "Javier"
orcid: "https://orcid.org/0000-0002-1091-934X"
title: "Replication package for 'RETORCH*: A Cost and Resource aware Model for E2E Testing in the Cloud'"
version: 1.0
date-released: 2023-08-11
url: "https://github.com/giis-uniovi/retorchx-rp"
preferred-citation:
type: article
authors:
- family-names: "Augusto"
given-names: "Cristian"
orcid: "https://orcid.org/0000-0001-6140-1375"
- family-names: "Morán"
given-names: "Jesús"
orcid: "https://orcid.org/0000-0002-7544-3901"
- family-names: "Bertolino"
given-names: "Antonia"
orcid: "https://orcid.org/0000-0001-8749-1356"
- family-names: "De la Riva"
given-names: "Claudio"
orcid: "https://orcid.org/0000-0001-5592-9683"
- family-names: "Tuya"
given-names: "Javier"
orcid: "https://orcid.org/0000-0002-1091-934X"
doi: "10.1016/j.jss.2024.112237"
journal: "Journal of Systems and Software"
title: "RETORCH*: A Cost and Resource aware Model for E2E Testing in the Cloud"
url: "https://www.sciencedirect.com/science/article/pii/S0164121224002814"
volume: 221
issn: "0164-1212"
pages: 112237
month: 3
year: 2025
GitHub Events
Total
- Delete event: 2
- Issue comment event: 1
- Push event: 3
- Pull request event: 5
- Create event: 1
Last Year
- Delete event: 2
- Issue comment event: 1
- Push event: 3
- Pull request event: 5
- Create event: 1
Issues and Pull Requests
Last synced: 10 months ago
All Time
- Total issues: 2
- Total pull requests: 3
- Average time to close issues: 29 days
- Average time to close pull requests: 3 days
- Total issue authors: 1
- Total pull request authors: 2
- Average comments per issue: 2.0
- Average comments per pull request: 1.0
- Merged pull requests: 3
- Bot issues: 0
- Bot pull requests: 1
Past Year
- Issues: 1
- Pull requests: 2
- Average time to close issues: about 2 months
- Average time to close pull requests: 4 days
- Issue authors: 1
- Pull request authors: 2
- Average comments per issue: 0.0
- Average comments per pull request: 1.0
- Merged pull requests: 2
- Bot issues: 0
- Bot pull requests: 1
Top Authors
Issue Authors
- augustocristian (2)
Pull Request Authors
- augustocristian (3)
- dependabot[bot] (3)
- giis-qabot (1)
Top Labels
Issue Labels
Pull Request Labels
Dependencies
- actions/checkout v3 composite
- actions/setup-python v4 composite
- colorama ==0.4.6
- coverage ==7.2.7
- exceptiongroup ==1.1.2
- flake8 ==6.1.0
- iniconfig ==2.0.0
- jsonpickle ==3.0.1
- matplotlib ==3.7.2
- mccabe ==0.7.0
- numpy ==1.25.2
- packaging ==23.1
- pandas ==2.0.3
- pluggy ==1.2.0
- pycodestyle ==2.11.0
- pyflakes ==3.1.0
- pytest ==7.4.0
- pytest-cov ==4.1.0
- pytest-html ==3.2.0
- python-dateutil ==2.8.2
- pytz ==2023.3
- seaborn ==0.12.2
- setuptools ==68.0.0
- six ==1.16.0
- tomli ==2.0.1
- tzdata ==2023.3