Skip to content

Commit f7c34d8

Browse files
docs: update README documentation
1 parent 6b86b55 commit f7c34d8

3 files changed

Lines changed: 46 additions & 56 deletions

File tree

README.md

Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,28 @@
22

33
This is the reproduction package for our paper _Decades of GNU Patch and Git Cherry-Pick: Can We Do Better?_ which has been accepted to the 48th International Conference on Software Engineering (ICSE 2026).
44

5+
## Purpose
6+
7+
The artifact should allow other researchers to reproduce our experiments and confirm the results which reported in our paper.
8+
We provide instructions that allow reproduction of the evaluation presented in Sections 4 through 6 of our paper.
9+
The reproduction is executed in a Docker container.
10+
11+
We claim the _Artifacts Available_ badge, as we made our artifacts publicly available on [Zenodo](https://doi.org/10.5281/zenodo.16920961}) under an open-source license.
12+
Our dataset and the repositories from which we mined it are also publicly available.
13+
14+
We claim the _Artifacts Evaluated Functional_ and _Artifacts Evaluated Reusable_ badges, as both our evaluation framework and our novel patcher can be reused by other researchers and practitioners.
15+
Our evaluation can be extended and reused to evaluate and compare additional patchers with those considered in our paper.
16+
Our novel patcher _mpatch_ is a tool that can be used as an alternative to _git cherry-pick_ or GNU _patch_.
17+
It can also be integrated into other evaluation setups using its library or its CLI.
18+
We carefully documented and implemented the artifact in a way that should allow future execution and reuse by other research groups.
19+
20+
## Provenance
21+
22+
The Preprint of our paper can be found [online](https://lanpirot.github.io/publications/Decades_of_GNU_Patch_and_Git_Cherry-Pick_Can_We_Do_Better.pdf).
23+
After official publication, it becomes available under [https://doi.org/10.1145/3744916.3764537](https://doi.org/10.1145/3744916.3764537).
24+
25+
The artifact itself is available on [Zenodo](https://doi.org/10.5281/zenodo.16920961) and [Github](https://github.com/VariantSync/patching-with-matching-eval).
26+
527
## Content
628

729
The reproduction package consists of three main parts:
@@ -12,19 +34,37 @@ The reproduction package consists of three main parts:
1234

1335
## Requirements
1436

15-
Software Requirements
37+
### Hardware Requirements
1638

17-
- [Docker](https://www.docker.com/)
39+
There are no special requirements regarding the CPU or GPU.
1840

19-
Hardware Requirements
41+
#### Primary Memory
2042

21-
- We recommend running the evaluation on a system with at least **64GB** of primary memory (RAM).
22-
- 100GB—2TB of free drive space, depending on the configuration of the Docker image.
43+
We recommend running the evaluation on a system with at least **64GB** of primary memory (RAM).
44+
45+
#### Secondary Memory
46+
47+
I/O operations have a considerable impact on the total runtime of the evaluation.
48+
Therefore, we strongly recommend storing the repository on an SSD (M2 technology or better),
49+
and to configure Docker to store its data (e.g., images and containers) on this SSD as well.
50+
Using an HDD can lead to severe runtime problems and thereby timeouts that threaten the validity of the results.
51+
52+
The evaluation requires about **1TB** of space as it considers hundreds of repositories, which in turn are copied dozens of times for multi-threaded patcher evaluation.
53+
The space requirement can be considerably reduced by changing the number of used threads in the [reproduction config](docker/config-reproduction.properties) (e.g., to **20GB**), but then the evaluation will require considerably more time as well.
2354

2455
> [!WARNING]
2556
> The used storage medium should be very fast, e.g., M.2 NVMe SSD with 5000 MB/s, otherwise the evaluation may take an extremely long time.
2657
27-
Other Requirements
58+
### Software Requirements
59+
60+
The artifact does not require a certain operating system or prepared environment.
61+
Our evaluation can be reproduced on any system supporting [Docker](https://docs.docker.com/get-docker/).
62+
Docker will take care of all requirements and dependencies to reproduce our evaluation.
63+
64+
- We recommend running the evaluation on a system with at least **64GB** of primary memory (RAM).
65+
- 100GB—2TB of free drive space, depending on the configuration of the Docker image.
66+
67+
### Other Requirements
2868

2969
- A stable internet connection.
3070

REQUIREMENTS.md

Lines changed: 0 additions & 21 deletions
This file was deleted.

STATUS.md

Lines changed: 0 additions & 29 deletions
This file was deleted.

0 commit comments

Comments
 (0)