-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathdefault.sh
executable file
·43 lines (35 loc) · 1.84 KB
/
default.sh
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
#!/bin/bash
# The following line uses curl to reproducibly install and run the specified revision of torte.
# Alternatively, torte can be installed manually (see https://github.com/ekuiter/torte).
# In that case, make sure to check out the correct revision manually and run ./torte.sh <this-file>.
TORTE_REVISION=main; [[ $TOOL != torte ]] && builtin source /dev/stdin <<<"$(curl -fsSL https://raw.githubusercontent.com/ekuiter/torte/$TORTE_REVISION/torte.sh)" "$@"
# This experiment extracts, transforms, and analyzes a single feature model.
# It serves as a demo and integration test for torte and also returns some common statistics of the model.
TIMEOUT=10
experiment-subjects() {
add-busybox-kconfig-history --from 1_36_0 --to 1_36_1
}
experiment-stages() {
clone-systems
read-statistics
extract-kconfig-models
transform-models-with-featjar --transformer model_to_xml_featureide --output-extension xml --timeout "$TIMEOUT"
transform-models-with-featjar --transformer model_to_uvl_featureide --output-extension uvl --timeout "$TIMEOUT"
transform-models-into-dimacs --timeout "$TIMEOUT"
draw-community-structure --timeout "$TIMEOUT"
compute-backbone-dimacs-with-cadiback --timeout "$TIMEOUT"
compute-unconstrained-features --timeout "$TIMEOUT"
compute-backbone-features --timeout "$TIMEOUT"
solve-satisfiable --timeout "$TIMEOUT"
solve-model-count --timeout "$TIMEOUT"
join-into kconfig dimacs
join-into dimacs community-structure
join-into dimacs solve_satisfiable
join-into dimacs solve_model-count
log-output-field read-statistics source_lines_of_code
log-output-field kconfig model-features
log-output-field dimacs dimacs-variables
log-output-field solve_satisfiable satisfiable
log-output-field solve_model-count model-count
run-notebook --file experiments/default.ipynb
}