-
Notifications
You must be signed in to change notification settings - Fork 2
/
full-experiments.properties
129 lines (113 loc) · 7.45 KB
/
full-experiments.properties
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
# Matchers that are taken into account. Matchers have to be defined as shown below
# NwM
experiments.matchers.algorithm.nwm = NwM
experiments.matchers.name.nwm = NwM
# Pairwise Ascending
experiments.matchers.algorithm.pairwise-ascending = PairwiseAsc
experiments.matchers.name.pairwise-ascending = PairwiseAsc
# Pairwise Descending
experiments.matchers.algorithm.pairwise-descending = PairwiseDesc
experiments.matchers.name.pairwise-descending = PairwiseDesc
# RaQuN using the property-based vectorization
experiments.matchers.algorithm.raqun-prop = RaQuN
experiments.matchers.name.raqun-prop = RaQuN-Property-Vec
experiments.matchers.vectorization.raqun-prop = de.variantsync.matching.raqun.vectorization.PropertyBasedVectorization
experiments.matchers.validity.raqun-prop = de.variantsync.matching.raqun.validity.OneToOneValidity
experiments.matchers.similarity.raqun-prop = de.variantsync.matching.raqun.similarity.WeightMetric
# RaQuN using the character-based vectorization
experiments.matchers.algorithm.raqun-char = RaQuN
experiments.matchers.name.raqun-char = RaQuN-Character-Vec
experiments.matchers.vectorization.raqun-char = de.variantsync.matching.raqun.vectorization.CharacterBasedVectorization
experiments.matchers.validity.raqun-char = de.variantsync.matching.raqun.validity.OneToOneValidity
experiments.matchers.similarity.raqun-char = de.variantsync.matching.raqun.similarity.WeightMetric
experiments.matchers.algorithm.raqun-jaccard-25 = RaQuN
experiments.matchers.name.raqun-jaccard-25 = RaQuN-Jaccard-25
experiments.matchers.vectorization.raqun-jaccard-25 = de.variantsync.matching.raqun.vectorization.CharacterBasedVectorization
experiments.matchers.validity.raqun-jaccard-25 = de.variantsync.matching.raqun.validity.OneToOneValidity
experiments.matchers.similarity.raqun-jaccard-25 = de.variantsync.matching.raqun.similarity.JaccardIndex
experiments.matchers.similarity.parameters.raqun-jaccard-25 = 0.25
experiments.matchers.algorithm.raqun-jaccard-50 = RaQuN
experiments.matchers.name.raqun-jaccard-50 = RaQuN-Jaccard-50
experiments.matchers.vectorization.raqun-jaccard-50 = de.variantsync.matching.raqun.vectorization.CharacterBasedVectorization
experiments.matchers.validity.raqun-jaccard-50 = de.variantsync.matching.raqun.validity.OneToOneValidity
experiments.matchers.similarity.raqun-jaccard-50 = de.variantsync.matching.raqun.similarity.JaccardIndex
experiments.matchers.similarity.parameters.raqun-jaccard-50 = 0.50
experiments.matchers.algorithm.raqun-jaccard-75 = RaQuN
experiments.matchers.name.raqun-jaccard-75 = RaQuN-Jaccard-75
experiments.matchers.vectorization.raqun-jaccard-75 = de.variantsync.matching.raqun.vectorization.CharacterBasedVectorization
experiments.matchers.validity.raqun-jaccard-75 = de.variantsync.matching.raqun.validity.OneToOneValidity
experiments.matchers.similarity.raqun-jaccard-75 = de.variantsync.matching.raqun.similarity.JaccardIndex
experiments.matchers.similarity.parameters.raqun-jaccard-75 = 0.75
experiments.matchers.algorithm.raqun-jaccard-100 = RaQuN
experiments.matchers.name.raqun-jaccard-100 = RaQuN-Jaccard-100
experiments.matchers.vectorization.raqun-jaccard-100 = de.variantsync.matching.raqun.vectorization.CharacterBasedVectorization
experiments.matchers.validity.raqun-jaccard-100 = de.variantsync.matching.raqun.validity.OneToOneValidity
experiments.matchers.similarity.raqun-jaccard-100 = de.variantsync.matching.raqun.similarity.JaccardIndex
experiments.matchers.similarity.parameters.raqun-jaccard-100 = 1.00
# Timeout configuration
experiments.timeout.duration = 12
# Timeout unit; possible values: SECONDS, MINUTES, HOURS, DAYS
experiments.timeout.unit = HOURS
# Extra-Verbose mode, prints the tuples of each matching
experiments.execution.verbose = false
# Number of times each setup is executed, e.g., how often should RaQuN with high dimension vectorization be
# run on the dataset Hospital? The number of repetitions does not affect the required resources, only the total runtime.
# For RQ1 and RQ2, we ran 10 executions á 3 repetitions in parallel (30 executions in total).
# However, this can only be done on a dedicated compute server with a large amount of resources.
# For RQ3, we ran 1 execution with 1 repetition (1 execution in total, but there are 30 datasets per subset size).
# If you plan on repeating our experiments on a system with limited resources, we advice to only run one docker container
# at a time.
experiments.execution.repetitions.rq1 = 30
experiments.execution.repetitions.rq2 = 30
experiments.execution.repetitions.rq3 = 1
experiments.execution.repetitions.rq4 = 30
experiments.execution.repetitions.rq5 = 1
# RQ1: Assessment of RaQuN's initialization phase
experiments.rq1.matchers = raqun-char, raqun-prop, raqun-jaccard-25, raqun-jaccard-50, raqun-jaccard-75, raqun-jaccard-100
# RQ1 can be evaluated on any dataset (excluding ArgoUML subsets), thus, you can either specify the datasets' names or "ALL"
#experiments.rq1.datasets = hospitals, warehouses, random, randomLoose, randomTight, ppu, ppu_statem, bcs, bcms, Apogames, argouml, simulink_family_1, simulink_family_2
experiments.rq1.datasets = ALL
# RQ2: Assessment of RaQuN's candidate search phase
# Range of k for the evaluation of different numbers of neighbors for the candidate search for RQ2
experiments.rq2.start-k = 1
experiments.rq2.max-k = 20
experiments.rq2.max-k-argouml = 10
experiments.rq2.matcher = raqun-prop
# RQ2 requires datasets with a ground truth
experiments.rq2.datasets = ppu, bcms, argouml
# RQ3: Assessment of RaQuN's matching phase
# RQ3 uses the generated argouml subsets so there is no alternative option regarding the subsets. However, you can
# specify till which subset size to run the experiments (inclusively). To do so specify a percentage in a three digit format
# Examples:
# Run 1% and 5% subsets:
# experiments.rq3.largest-dataset = 005
# Run 1% - 65% subsets:
# experiments.rq.largest-dataset = 065
# Run all subsets plus the full ArgoUML
# experiments.rq3.largest-dataset = 100
# We only require `095` because the full ArgoUML is already run by RQ1
experiments.rq3.largest-dataset = 095
experiments.rq3.matchers = raqun-char, raqun-jaccard-25, raqun-jaccard-50, raqun-jaccard-75, raqun-jaccard-100
# RQ4: Comparison with other matching algorithms
# We already ran RaQuN for RQ1, so we only have to run the other matchers
experiments.rq4.matchers = nwm, pairwise-ascending, pairwise-descending
# RQ4 can be evaluated on any dataset, thus, you can either specify the datasets' names or "ALL"
#experiments.rq4.datasets = hospitals, warehouses, random, randomLoose, randomTight, ppu, ppu_statem, bcs, bcms, Apogames, argouml, simulink_family_1, simulink_family_2
experiments.rq4.datasets = ALL
# RQ5: Scalability analyses
# We already ran raqun-char for RQ3, so we can concentrate on the baseline algorithms.
# RQ5 uses the generated argouml subsets so there is no alternative option regarding the subsets. However, you can
# specify till which subset size to run the experiments (inclusively). To do so specify a percentage in a three digit format
# Examples:
# Run 1% and 5% subsets:
# experiments.rq5.largest-dataset = 005
# Run 1% - 65% subsets:
# experiments.rq5.largest-dataset = 065
# Run all subsets plus the full ArgoUML
# experiments.rq5.largest-dataset = 100
# We only require `095` because the full ArgoUML is already run by RQ1
experiments.rq5.largest-dataset = 095
experiments.rq5.matchers = raqun-prop, nwm, pairwise-ascending, pairwise-descending
# DO NOT CHANGE THESE WHEN RUNNING WITH DOCKER
experiments.dir.datasets = experimental_subjects
experiments.dir.results = results