You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+46-6Lines changed: 46 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -2,6 +2,28 @@
2
2
3
3
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).
4
4
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
+
5
27
## Content
6
28
7
29
The reproduction package consists of three main parts:
@@ -12,19 +34,37 @@ The reproduction package consists of three main parts:
12
34
13
35
## Requirements
14
36
15
-
Software Requirements
37
+
### Hardware Requirements
16
38
17
-
-[Docker](https://www.docker.com/)
39
+
There are no special requirements regarding the CPU or GPU.
18
40
19
-
Hardware Requirements
41
+
#### Primary Memory
20
42
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.
23
54
24
55
> [!WARNING]
25
56
> 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.
26
57
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.
0 commit comments