fm-weck 1.3.0__py3-none-any.whl → 1.4.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fm_weck/__init__.py +1 -1
- fm_weck/cli.py +63 -11
- fm_weck/config.py +38 -13
- fm_weck/engine.py +52 -11
- fm_weck/image_mgr.py +9 -2
- fm_weck/resources/__init__.py +2 -2
- fm_weck/resources/fm_tools/2ls.yml +14 -0
- fm_weck/resources/fm_tools/aise.yml +16 -3
- fm_weck/resources/fm_tools/aprove.yml +25 -1
- fm_weck/resources/fm_tools/brick.yml +13 -0
- fm_weck/resources/fm_tools/bubaak-split.yml +15 -0
- fm_weck/resources/fm_tools/bubaak.yml +15 -0
- fm_weck/resources/fm_tools/cbmc.yml +10 -0
- fm_weck/resources/fm_tools/cetfuzz.yml +12 -1
- fm_weck/resources/fm_tools/coastal.yml +11 -0
- fm_weck/resources/fm_tools/concurrentwitness2test.yml +21 -2
- fm_weck/resources/fm_tools/cooperace.yml +51 -0
- fm_weck/resources/fm_tools/coveriteam-verifier-algo-selection.yml +13 -0
- fm_weck/resources/fm_tools/coveriteam-verifier-parallel-portfolio.yml +13 -0
- fm_weck/resources/fm_tools/coveritest.yml +14 -0
- fm_weck/resources/fm_tools/cpa-bam-bnb.yml +11 -0
- fm_weck/resources/fm_tools/cpa-bam-smg.yml +11 -0
- fm_weck/resources/fm_tools/cpa-lockator.yml +11 -0
- fm_weck/resources/fm_tools/cpa-witness2test.yml +9 -0
- fm_weck/resources/fm_tools/cpachecker.yml +68 -1
- fm_weck/resources/fm_tools/cpv.yml +17 -2
- fm_weck/resources/fm_tools/crux.yml +11 -0
- fm_weck/resources/fm_tools/cseq.yml +11 -4
- fm_weck/resources/fm_tools/dartagnan.yml +22 -0
- fm_weck/resources/fm_tools/deagle.yml +27 -1
- fm_weck/resources/fm_tools/divine.yml +11 -0
- fm_weck/resources/fm_tools/ebf.yml +9 -0
- fm_weck/resources/fm_tools/emergentheta.yml +23 -0
- fm_weck/resources/fm_tools/esbmc-incr.yml +32 -5
- fm_weck/resources/fm_tools/esbmc-kind.yml +33 -1
- fm_weck/resources/fm_tools/fdse.yml +9 -0
- fm_weck/resources/fm_tools/fizzer.yml +23 -0
- fm_weck/resources/fm_tools/frama-c-sv.yml +11 -0
- fm_weck/resources/fm_tools/fshell-witness2test.yml +10 -0
- fm_weck/resources/fm_tools/fusebmc-ia.yml +9 -0
- fm_weck/resources/fm_tools/fusebmc.yml +19 -1
- fm_weck/resources/fm_tools/gazer-theta.yml +13 -0
- fm_weck/resources/fm_tools/gdart-llvm.yml +10 -0
- fm_weck/resources/fm_tools/gdart.yml +31 -0
- fm_weck/resources/fm_tools/goblint.yml +50 -2
- fm_weck/resources/fm_tools/graves-par.yml +13 -0
- fm_weck/resources/fm_tools/graves.yml +12 -0
- fm_weck/resources/fm_tools/gwit.yml +9 -0
- fm_weck/resources/fm_tools/hornix.yml +55 -0
- fm_weck/resources/fm_tools/hybridtiger.yml +11 -0
- fm_weck/resources/fm_tools/infer.yml +11 -0
- fm_weck/resources/fm_tools/java-ranger.yml +25 -3
- fm_weck/resources/fm_tools/jayhorn.yml +12 -0
- fm_weck/resources/fm_tools/jbmc.yml +14 -1
- fm_weck/resources/fm_tools/jcwit.yml +11 -0
- fm_weck/resources/fm_tools/jdart.yml +11 -0
- fm_weck/resources/fm_tools/klee.yml +11 -0
- fm_weck/resources/fm_tools/kleef.yml +24 -5
- fm_weck/resources/fm_tools/korn.yml +16 -0
- fm_weck/resources/fm_tools/lazycseq.yml +13 -0
- fm_weck/resources/fm_tools/legion-symcc.yml +10 -0
- fm_weck/resources/fm_tools/legion.yml +11 -0
- fm_weck/resources/fm_tools/lf-checker.yml +10 -0
- fm_weck/resources/fm_tools/liv.yml +28 -4
- fm_weck/resources/fm_tools/locksmith.yml +10 -0
- fm_weck/resources/fm_tools/metaval++.yml +49 -0
- fm_weck/resources/fm_tools/metaval.yml +51 -5
- fm_weck/resources/fm_tools/mlb.yml +21 -1
- fm_weck/resources/fm_tools/mopsa.yml +45 -0
- fm_weck/resources/fm_tools/nacpa.yml +51 -0
- fm_weck/resources/fm_tools/nitwit.yml +11 -0
- fm_weck/resources/fm_tools/owic.yml +11 -0
- fm_weck/resources/fm_tools/pesco.yml +12 -0
- fm_weck/resources/fm_tools/pichecker.yml +10 -0
- fm_weck/resources/fm_tools/pinaka.yml +11 -0
- fm_weck/resources/fm_tools/predatorhp.yml +12 -0
- fm_weck/resources/fm_tools/proton.yml +20 -0
- fm_weck/resources/fm_tools/prtest.yml +9 -0
- fm_weck/resources/fm_tools/racerf.yml +48 -0
- fm_weck/resources/fm_tools/relay-sv.yml +11 -0
- fm_weck/resources/fm_tools/rizzer.yml +9 -0
- fm_weck/resources/fm_tools/sikraken.yml +42 -0
- fm_weck/resources/fm_tools/spf.yml +11 -0
- fm_weck/resources/fm_tools/sv-sanitizers.yml +18 -1
- fm_weck/resources/fm_tools/svf-svc.yml +45 -0
- fm_weck/resources/fm_tools/swat.yml +9 -0
- fm_weck/resources/fm_tools/symbiotic-witch.yml +17 -1
- fm_weck/resources/fm_tools/symbiotic.yml +32 -1
- fm_weck/resources/fm_tools/testcov.yml +18 -1
- fm_weck/resources/fm_tools/theta.yml +24 -0
- fm_weck/resources/fm_tools/thorn.yml +46 -0
- fm_weck/resources/fm_tools/tracerx-wp.yml +19 -0
- fm_weck/resources/fm_tools/tracerx.yml +19 -0
- fm_weck/resources/fm_tools/uautomizer.yml +72 -4
- fm_weck/resources/fm_tools/ugemcutter.yml +24 -6
- fm_weck/resources/fm_tools/ukojak.yml +35 -6
- fm_weck/resources/fm_tools/ureferee.yml +82 -0
- fm_weck/resources/fm_tools/utaipan.yml +33 -4
- fm_weck/resources/fm_tools/utestgen.yml +27 -0
- fm_weck/resources/fm_tools/veriabs.yml +28 -1
- fm_weck/resources/fm_tools/veriabsl.yml +43 -3
- fm_weck/resources/fm_tools/verifuzz.yml +2 -0
- fm_weck/resources/fm_tools/verioover.yml +10 -0
- fm_weck/resources/fm_tools/wasp-c.yml +12 -0
- fm_weck/resources/fm_tools/wit4java.yml +12 -0
- fm_weck/resources/fm_tools/witch.yml +16 -1
- fm_weck/resources/fm_tools/witnesslint.yml +79 -1
- fm_weck/resources/run_with_overlay.sh +22 -4
- fm_weck/runexec_mode.py +52 -0
- fm_weck/runexec_util.py +7 -3
- fm_weck/serve.py +0 -27
- {fm_weck-1.3.0.dist-info → fm_weck-1.4.1.dist-info}/METADATA +1 -1
- fm_weck-1.4.1.dist-info/RECORD +145 -0
- {fm_weck-1.3.0.dist-info → fm_weck-1.4.1.dist-info}/WHEEL +1 -1
- fm_weck-1.3.0.dist-info/RECORD +0 -135
- {fm_weck-1.3.0.dist-info → fm_weck-1.4.1.dist-info}/entry_points.txt +0 -0
|
@@ -10,13 +10,24 @@ fmtools_entry_maintainers:
|
|
|
10
10
|
- priyankadarke
|
|
11
11
|
|
|
12
12
|
maintainers:
|
|
13
|
-
-
|
|
13
|
+
- orcid: 0000-0001-6104-9033
|
|
14
|
+
name: Priyanka Darke
|
|
14
15
|
institution: Tata Consultancy Services
|
|
15
16
|
country: India
|
|
16
17
|
url: https://www.tcs.com
|
|
17
18
|
|
|
18
19
|
|
|
19
20
|
versions:
|
|
21
|
+
- version: "1.6.2"
|
|
22
|
+
doi: 10.5281/zenodo.14030466
|
|
23
|
+
benchexec_toolinfo_options: ['--veriabs']
|
|
24
|
+
required_ubuntu_packages:
|
|
25
|
+
- libc6-dev-i386
|
|
26
|
+
- openjdk-11-jre-headless
|
|
27
|
+
- openjdk-17-jre-headless
|
|
28
|
+
- clang-12
|
|
29
|
+
full_container_images:
|
|
30
|
+
- registry.gitlab.com/sosy-lab/benchmarking/competition-scripts/user:2024
|
|
20
31
|
- version: "svcomp24"
|
|
21
32
|
doi: 10.5281/zenodo.10243500
|
|
22
33
|
benchexec_toolinfo_options: ['--sv22']
|
|
@@ -32,10 +43,20 @@ versions:
|
|
|
32
43
|
- openjdk-11-jre-headless
|
|
33
44
|
|
|
34
45
|
competition_participations:
|
|
46
|
+
- competition: "SV-COMP 2025"
|
|
47
|
+
track: "Verification"
|
|
48
|
+
tool_version: "1.6.2"
|
|
49
|
+
jury_member:
|
|
50
|
+
orcid: 0000-0001-6104-9033
|
|
51
|
+
name: Priyanka Darke
|
|
52
|
+
institution: Tata Consultancy Services
|
|
53
|
+
country: India
|
|
54
|
+
url: null
|
|
35
55
|
- competition: "SV-COMP 2024"
|
|
36
56
|
track: "Verification"
|
|
37
57
|
tool_version: "svcomp24"
|
|
38
58
|
jury_member:
|
|
59
|
+
orcid: 0000-0001-6104-9033
|
|
39
60
|
name: Priyanka Darke
|
|
40
61
|
institution: Tata Consultancy Services
|
|
41
62
|
country: India
|
|
@@ -44,6 +65,7 @@ competition_participations:
|
|
|
44
65
|
track: "Verification"
|
|
45
66
|
tool_version: "svcomp23"
|
|
46
67
|
jury_member:
|
|
68
|
+
orcid: 0000-0001-6104-9033
|
|
47
69
|
name: Priyanka Darke
|
|
48
70
|
institution: Tata Consultancy Services
|
|
49
71
|
country: India
|
|
@@ -64,3 +86,8 @@ frameworks_solvers:
|
|
|
64
86
|
- CProver
|
|
65
87
|
- Z3
|
|
66
88
|
- MiniSAT
|
|
89
|
+
|
|
90
|
+
literature:
|
|
91
|
+
- doi: 10.1007/978-3-030-72013-1_32
|
|
92
|
+
title: "VeriAbs: A Tool for Scalable Verification by Abstraction"
|
|
93
|
+
year: 2021
|
|
@@ -10,19 +10,44 @@ fmtools_entry_maintainers:
|
|
|
10
10
|
- priyankadarke
|
|
11
11
|
|
|
12
12
|
maintainers:
|
|
13
|
-
-
|
|
13
|
+
- orcid: 0000-0001-6104-9033
|
|
14
|
+
name: Priyanka Darke
|
|
14
15
|
institution: Tata Consultancy Services
|
|
15
16
|
country: India
|
|
16
17
|
url: https://www.tcs.com
|
|
17
18
|
|
|
18
19
|
versions:
|
|
20
|
+
- version: "1.6.2"
|
|
21
|
+
doi: 10.5281/zenodo.14030454
|
|
22
|
+
benchexec_toolinfo_options: []
|
|
23
|
+
required_ubuntu_packages:
|
|
24
|
+
- libc6-dev-i386
|
|
25
|
+
- openjdk-11-jre-headless
|
|
26
|
+
- openjdk-17-jre-headless
|
|
27
|
+
- python3-absl
|
|
28
|
+
- python3-astunparse
|
|
29
|
+
- python3-flatbuffers
|
|
30
|
+
- python3-gast
|
|
31
|
+
- python3-h5py
|
|
32
|
+
- python3-packaging
|
|
33
|
+
- python3-termcolor
|
|
34
|
+
- python3-wrapt
|
|
35
|
+
- python3-typing-extensions
|
|
36
|
+
- python3-pandas
|
|
37
|
+
- python3-sklearn
|
|
38
|
+
- python3-certifi
|
|
39
|
+
- python3-idna
|
|
40
|
+
- python3-requests
|
|
41
|
+
- python3-urllib3
|
|
42
|
+
- clang-12
|
|
43
|
+
full_container_images:
|
|
44
|
+
- registry.gitlab.com/sosy-lab/benchmarking/competition-scripts/user:2024
|
|
19
45
|
- version: "svcomp24"
|
|
20
46
|
doi: 10.5281/zenodo.10244458
|
|
21
47
|
benchexec_toolinfo_options: []
|
|
22
48
|
required_ubuntu_packages:
|
|
23
49
|
- libc6-dev-i386
|
|
24
50
|
- openjdk-11-jre-headless
|
|
25
|
-
- python3-pip
|
|
26
51
|
- python3-absl
|
|
27
52
|
- python3-astunparse
|
|
28
53
|
- python3-flatbuffers
|
|
@@ -45,7 +70,6 @@ versions:
|
|
|
45
70
|
required_ubuntu_packages:
|
|
46
71
|
- libc6-dev-i386
|
|
47
72
|
- openjdk-11-jre-headless
|
|
48
|
-
- python3-pip
|
|
49
73
|
- python3-absl
|
|
50
74
|
- python3-astunparse
|
|
51
75
|
- python3-flatbuffers
|
|
@@ -63,10 +87,20 @@ versions:
|
|
|
63
87
|
- python3-urllib3
|
|
64
88
|
|
|
65
89
|
competition_participations:
|
|
90
|
+
- competition: "SV-COMP 2025"
|
|
91
|
+
track: "Verification"
|
|
92
|
+
tool_version: "1.6.2"
|
|
93
|
+
jury_member:
|
|
94
|
+
orcid: 0000-0001-6104-9033
|
|
95
|
+
name: Priyanka Darke
|
|
96
|
+
institution: Tata Consultancy Services
|
|
97
|
+
country: India
|
|
98
|
+
url: null
|
|
66
99
|
- competition: "SV-COMP 2024"
|
|
67
100
|
track: "Verification"
|
|
68
101
|
tool_version: "svcomp24"
|
|
69
102
|
jury_member:
|
|
103
|
+
orcid: 0000-0001-6104-9033
|
|
70
104
|
name: Priyanka Darke
|
|
71
105
|
institution: Tata Consultancy Services
|
|
72
106
|
country: India
|
|
@@ -75,6 +109,7 @@ competition_participations:
|
|
|
75
109
|
track: "Verification"
|
|
76
110
|
tool_version: "svcomp23"
|
|
77
111
|
jury_member:
|
|
112
|
+
orcid: 0000-0001-6104-9033
|
|
78
113
|
name: Priyanka Darke
|
|
79
114
|
institution: Tata Consultancy Services
|
|
80
115
|
country: India
|
|
@@ -95,3 +130,8 @@ frameworks_solvers:
|
|
|
95
130
|
- CProver
|
|
96
131
|
- Z3
|
|
97
132
|
- MiniSAT
|
|
133
|
+
|
|
134
|
+
literature:
|
|
135
|
+
- doi: 10.1007/978-3-031-30820-8_41
|
|
136
|
+
title: "VeriAbsL: Scalable Verification by Abstraction and Strategy Prediction"
|
|
137
|
+
year: 2023
|
|
@@ -22,8 +22,18 @@ versions:
|
|
|
22
22
|
required_ubuntu_packages: []
|
|
23
23
|
|
|
24
24
|
competition_participations:
|
|
25
|
+
- competition: "SV-COMP 2025"
|
|
26
|
+
track: "Verification"
|
|
27
|
+
hors-concours: true
|
|
28
|
+
tool_version: "svcomp23"
|
|
29
|
+
jury_member:
|
|
30
|
+
name: Hors Concours
|
|
31
|
+
institution: --
|
|
32
|
+
country: --
|
|
33
|
+
url: null
|
|
25
34
|
- competition: "SV-COMP 2024"
|
|
26
35
|
track: "Verification"
|
|
36
|
+
hors-concours: true
|
|
27
37
|
tool_version: "svcomp23"
|
|
28
38
|
jury_member:
|
|
29
39
|
name: Hors Concours
|
|
@@ -24,10 +24,22 @@ versions:
|
|
|
24
24
|
- make
|
|
25
25
|
- python3
|
|
26
26
|
- python3-lxml
|
|
27
|
+
full_container_images:
|
|
28
|
+
- registry.gitlab.com/sosy-lab/benchmarking/competition-scripts/user:2024
|
|
27
29
|
|
|
28
30
|
competition_participations:
|
|
31
|
+
- competition: "Test-Comp 2025"
|
|
32
|
+
track: "Test Generation"
|
|
33
|
+
hors-concours: true
|
|
34
|
+
tool_version: "testcomp23"
|
|
35
|
+
jury_member:
|
|
36
|
+
name: Hors Concours
|
|
37
|
+
institution: --
|
|
38
|
+
country: --
|
|
39
|
+
url: null
|
|
29
40
|
- competition: "Test-Comp 2024"
|
|
30
41
|
track: "Test Generation"
|
|
42
|
+
hors-concours: true
|
|
31
43
|
tool_version: "testcomp23"
|
|
32
44
|
jury_member:
|
|
33
45
|
name: Hors Concours
|
|
@@ -21,10 +21,22 @@ versions:
|
|
|
21
21
|
benchexec_toolinfo_options: []
|
|
22
22
|
required_ubuntu_packages:
|
|
23
23
|
- python3-networkx
|
|
24
|
+
full_container_images:
|
|
25
|
+
- registry.gitlab.com/sosy-lab/benchmarking/competition-scripts/user:2024
|
|
24
26
|
|
|
25
27
|
competition_participations:
|
|
28
|
+
- competition: "SV-COMP 2025"
|
|
29
|
+
track: "Validation of Violation Witnesses 1.0"
|
|
30
|
+
hors-concours: true
|
|
31
|
+
tool_version: "svcomp23"
|
|
32
|
+
jury_member:
|
|
33
|
+
name: Hors Concours
|
|
34
|
+
institution: --
|
|
35
|
+
country: --
|
|
36
|
+
url: null
|
|
26
37
|
- competition: "SV-COMP 2024"
|
|
27
38
|
track: "Validation of Violation Witnesses 1.0"
|
|
39
|
+
hors-concours: true
|
|
28
40
|
tool_version: "svcomp23"
|
|
29
41
|
jury_member:
|
|
30
42
|
name: Hors Concours
|
|
@@ -3,7 +3,7 @@ input_languages:
|
|
|
3
3
|
- C
|
|
4
4
|
project_url: https://github.com/ayazip/witch-klee
|
|
5
5
|
repository_url: https://github.com/ayazip/witch-klee
|
|
6
|
-
spdx_license_identifier: "
|
|
6
|
+
spdx_license_identifier: "MIT"
|
|
7
7
|
benchexec_toolinfo_module: "symbiotic-witch.py"
|
|
8
8
|
fmtools_format_version: "2.0"
|
|
9
9
|
fmtools_entry_maintainers:
|
|
@@ -17,6 +17,12 @@ maintainers:
|
|
|
17
17
|
url: null
|
|
18
18
|
|
|
19
19
|
versions:
|
|
20
|
+
- version: "svcomp25"
|
|
21
|
+
benchexec_toolinfo_options: ['--sv-comp']
|
|
22
|
+
required_ubuntu_packages:
|
|
23
|
+
- python3
|
|
24
|
+
- llvm-14
|
|
25
|
+
doi: "10.5281/zenodo.14161544"
|
|
20
26
|
- version: "svcomp24"
|
|
21
27
|
benchexec_toolinfo_options: ['--sv-comp']
|
|
22
28
|
required_ubuntu_packages:
|
|
@@ -24,6 +30,15 @@ versions:
|
|
|
24
30
|
doi: "10.5281/zenodo.10064512"
|
|
25
31
|
|
|
26
32
|
competition_participations:
|
|
33
|
+
- competition: "SV-COMP 2025"
|
|
34
|
+
track: "Validation of Violation Witnesses 2.0"
|
|
35
|
+
tool_version: "svcomp25"
|
|
36
|
+
jury_member:
|
|
37
|
+
orcid: 0000-0003-1072-8137
|
|
38
|
+
name: Paulína Ayaziová
|
|
39
|
+
institution: Masaryk University, Brno
|
|
40
|
+
country: Czechia
|
|
41
|
+
url: null
|
|
27
42
|
- competition: "SV-COMP 2024"
|
|
28
43
|
track: "Validation of Violation Witnesses 2.0"
|
|
29
44
|
tool_version: "svcomp24"
|
|
@@ -9,15 +9,49 @@ benchexec_toolinfo_module: benchexec.tools.witnesslint
|
|
|
9
9
|
fmtools_format_version: "2.0"
|
|
10
10
|
fmtools_entry_maintainers:
|
|
11
11
|
- dbeyer
|
|
12
|
-
-
|
|
12
|
+
- Marianl
|
|
13
|
+
- PhilippWendler
|
|
13
14
|
|
|
14
15
|
maintainers:
|
|
15
16
|
- name: Marian Lingsch-Rosenfeld
|
|
17
|
+
orcid: 0000-0002-8172-3184
|
|
16
18
|
institution: LMU Munich
|
|
17
19
|
country: Germany
|
|
18
20
|
url: https://www.sosy-lab.org/people/lingsch-rosenfeld/
|
|
19
21
|
|
|
20
22
|
versions:
|
|
23
|
+
- version: "svcomp25-correctness-graphml"
|
|
24
|
+
doi: 10.5281/zenodo.13988752
|
|
25
|
+
benchexec_toolinfo_options: ["--expectCorrectnessWitness", "--ignoreSelfLoops", "--expectedWitnessVersion", "1.0"]
|
|
26
|
+
required_ubuntu_packages:
|
|
27
|
+
- python3-lxml
|
|
28
|
+
- python3-jsonschema
|
|
29
|
+
- python3-yaml
|
|
30
|
+
- python3-pycparser
|
|
31
|
+
- version: "svcomp25-violation-graphml"
|
|
32
|
+
doi: 10.5281/zenodo.13988752
|
|
33
|
+
benchexec_toolinfo_options: ["--expectViolationWitness", "--ignoreSelfLoops", "--expectedWitnessVersion", "1.0"]
|
|
34
|
+
required_ubuntu_packages:
|
|
35
|
+
- python3-lxml
|
|
36
|
+
- python3-jsonschema
|
|
37
|
+
- python3-yaml
|
|
38
|
+
- python3-pycparser
|
|
39
|
+
- version: "svcomp25-correctness-yaml"
|
|
40
|
+
doi: 10.5281/zenodo.13988752
|
|
41
|
+
benchexec_toolinfo_options: ["--expectCorrectnessWitness", "--ignoreSelfLoops", "--expectedWitnessVersion", "2.0"]
|
|
42
|
+
required_ubuntu_packages:
|
|
43
|
+
- python3-lxml
|
|
44
|
+
- python3-jsonschema
|
|
45
|
+
- python3-yaml
|
|
46
|
+
- python3-pycparser
|
|
47
|
+
- version: "svcomp25-violation-yaml"
|
|
48
|
+
doi: 10.5281/zenodo.13988752
|
|
49
|
+
benchexec_toolinfo_options: ["--expectViolationWitness", "--ignoreSelfLoops", "--expectedWitnessVersion", "2.0"]
|
|
50
|
+
required_ubuntu_packages:
|
|
51
|
+
- python3-lxml
|
|
52
|
+
- python3-jsonschema
|
|
53
|
+
- python3-yaml
|
|
54
|
+
- python3-pycparser
|
|
21
55
|
- version: "svcomp24-correctness-graphml"
|
|
22
56
|
doi: 10.5281/zenodo.10213801
|
|
23
57
|
benchexec_toolinfo_options: ["--expectCorrectnessWitness", "--ignoreSelfLoops", "--expectedWitnessVersion", "1.0"]
|
|
@@ -52,10 +86,47 @@ versions:
|
|
|
52
86
|
- python3-pycparser
|
|
53
87
|
|
|
54
88
|
competition_participations:
|
|
89
|
+
- competition: "SV-COMP 2025"
|
|
90
|
+
track: "Validation of Correctness Witnesses 1.0"
|
|
91
|
+
tool_version: "svcomp25-correctness-graphml"
|
|
92
|
+
jury_member:
|
|
93
|
+
orcid: 0000-0002-8172-3184
|
|
94
|
+
name: Marian Lingsch-Rosenfeld
|
|
95
|
+
institution: LMU Munich
|
|
96
|
+
country: Germany
|
|
97
|
+
url: https://www.sosy-lab.org/people/lingsch-rosenfeld/
|
|
98
|
+
- competition: "SV-COMP 2025"
|
|
99
|
+
track: "Validation of Correctness Witnesses 2.0"
|
|
100
|
+
tool_version: "svcomp25-correctness-yaml"
|
|
101
|
+
jury_member:
|
|
102
|
+
orcid: 0000-0002-8172-3184
|
|
103
|
+
name: Marian Lingsch-Rosenfeld
|
|
104
|
+
institution: LMU Munich
|
|
105
|
+
country: Germany
|
|
106
|
+
url: https://www.sosy-lab.org/people/lingsch-rosenfeld/
|
|
107
|
+
- competition: "SV-COMP 2025"
|
|
108
|
+
track: "Validation of Violation Witnesses 1.0"
|
|
109
|
+
tool_version: "svcomp25-violation-graphml"
|
|
110
|
+
jury_member:
|
|
111
|
+
orcid: 0000-0002-8172-3184
|
|
112
|
+
name: Marian Lingsch-Rosenfeld
|
|
113
|
+
institution: LMU Munich
|
|
114
|
+
country: Germany
|
|
115
|
+
url: https://www.sosy-lab.org/people/lingsch-rosenfeld/
|
|
116
|
+
- competition: "SV-COMP 2025"
|
|
117
|
+
track: "Validation of Violation Witnesses 2.0"
|
|
118
|
+
tool_version: "svcomp25-violation-yaml"
|
|
119
|
+
jury_member:
|
|
120
|
+
orcid: 0000-0002-8172-3184
|
|
121
|
+
name: Marian Lingsch-Rosenfeld
|
|
122
|
+
institution: LMU Munich
|
|
123
|
+
country: Germany
|
|
124
|
+
url: https://www.sosy-lab.org/people/lingsch-rosenfeld/
|
|
55
125
|
- competition: "SV-COMP 2024"
|
|
56
126
|
track: "Validation of Correctness Witnesses 1.0"
|
|
57
127
|
tool_version: "svcomp24-correctness-graphml"
|
|
58
128
|
jury_member:
|
|
129
|
+
orcid: 0000-0002-8172-3184
|
|
59
130
|
name: Marian Lingsch-Rosenfeld
|
|
60
131
|
institution: LMU Munich
|
|
61
132
|
country: Germany
|
|
@@ -64,6 +135,7 @@ competition_participations:
|
|
|
64
135
|
track: "Validation of Correctness Witnesses 2.0"
|
|
65
136
|
tool_version: "svcomp24-correctness-yaml"
|
|
66
137
|
jury_member:
|
|
138
|
+
orcid: 0000-0002-8172-3184
|
|
67
139
|
name: Marian Lingsch-Rosenfeld
|
|
68
140
|
institution: LMU Munich
|
|
69
141
|
country: Germany
|
|
@@ -72,6 +144,7 @@ competition_participations:
|
|
|
72
144
|
track: "Validation of Violation Witnesses 1.0"
|
|
73
145
|
tool_version: "svcomp24-violation-graphml"
|
|
74
146
|
jury_member:
|
|
147
|
+
orcid: 0000-0002-8172-3184
|
|
75
148
|
name: Marian Lingsch-Rosenfeld
|
|
76
149
|
institution: LMU Munich
|
|
77
150
|
country: Germany
|
|
@@ -80,6 +153,7 @@ competition_participations:
|
|
|
80
153
|
track: "Validation of Violation Witnesses 2.0"
|
|
81
154
|
tool_version: "svcomp24-violation-yaml"
|
|
82
155
|
jury_member:
|
|
156
|
+
orcid: 0000-0002-8172-3184
|
|
83
157
|
name: Marian Lingsch-Rosenfeld
|
|
84
158
|
institution: LMU Munich
|
|
85
159
|
country: Germany
|
|
@@ -88,3 +162,7 @@ competition_participations:
|
|
|
88
162
|
techniques: []
|
|
89
163
|
|
|
90
164
|
frameworks_solvers: []
|
|
165
|
+
|
|
166
|
+
used_actors: []
|
|
167
|
+
|
|
168
|
+
literature: []
|
|
@@ -20,10 +20,28 @@ cp -r "/home/fm-weck_cache/$TOOL_DIR" /tmp/overlay/
|
|
|
20
20
|
# Assume the user $PWD is mounted to home/cwd
|
|
21
21
|
#Mount the overlay
|
|
22
22
|
mount -t overlay overlay -o lowerdir=/home/cwd:/tmp/overlay/"$TOOL_DIR",upperdir=/tmp/overlay/upper,workdir=/tmp/overlay/work /home/_cwd
|
|
23
|
-
cd /home/_cwd && "$@"
|
|
24
23
|
|
|
25
|
-
#
|
|
26
|
-
|
|
27
|
-
|
|
24
|
+
# Change directory and execute the command
|
|
25
|
+
cd /home/_cwd || exit 1
|
|
26
|
+
|
|
27
|
+
"$@" &
|
|
28
|
+
PID=$!
|
|
29
|
+
|
|
30
|
+
# Handle signals and delegate to the process
|
|
31
|
+
trap 'kill -TERM $PID' INT TERM
|
|
32
|
+
|
|
33
|
+
# Wait for the process and handle its termination correctly
|
|
34
|
+
wait $PID
|
|
35
|
+
trap - TERM INT
|
|
36
|
+
wait $PID # wait for JVM to exit after signal delegation
|
|
37
|
+
EXIT_STATUS=$?
|
|
38
|
+
|
|
39
|
+
# Check if upper directory has data to copy to output
|
|
40
|
+
if [ -n "$(ls -A /tmp/overlay/upper)" ]; then
|
|
28
41
|
cp -r /tmp/overlay/upper/* /home/output
|
|
29
42
|
fi
|
|
43
|
+
|
|
44
|
+
# Clean up mounted filesystems
|
|
45
|
+
umount /tmp/overlay
|
|
46
|
+
|
|
47
|
+
exit $EXIT_STATUS
|
fm_weck/runexec_mode.py
ADDED
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# This file is part of fm-weck: executing fm-tools in containerized environments.
|
|
2
|
+
# https://gitlab.com/sosy-lab/software/fm-weck
|
|
3
|
+
#
|
|
4
|
+
# SPDX-FileCopyrightText: 2024 Dirk Beyer <https://www.sosy-lab.org>
|
|
5
|
+
#
|
|
6
|
+
# SPDX-License-Identifier: Apache-2.0
|
|
7
|
+
|
|
8
|
+
import logging
|
|
9
|
+
import shutil
|
|
10
|
+
from pathlib import Path
|
|
11
|
+
from typing import Optional
|
|
12
|
+
|
|
13
|
+
from fm_weck.resources import BENCHEXEC_WHL
|
|
14
|
+
from fm_weck.runexec_util import mountable_absolute_paths_of_command
|
|
15
|
+
|
|
16
|
+
from .config import Config
|
|
17
|
+
from .engine import CACHE_MOUNT_LOCATION, Engine
|
|
18
|
+
|
|
19
|
+
logger = logging.getLogger(__name__)
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
def run_runexec(
|
|
23
|
+
benchexec_package: Optional[Path],
|
|
24
|
+
use_image: Optional[str],
|
|
25
|
+
configuration: Config,
|
|
26
|
+
extra_container_args: list[list[str]],
|
|
27
|
+
command: list[str],
|
|
28
|
+
):
|
|
29
|
+
if use_image is not None:
|
|
30
|
+
configuration.set_default_image(use_image)
|
|
31
|
+
|
|
32
|
+
engine = Engine.from_config(configuration)
|
|
33
|
+
engine.add_benchexec_capabilities = True
|
|
34
|
+
|
|
35
|
+
if benchexec_package is not None:
|
|
36
|
+
engine.mount(benchexec_package.parent.absolute(), "/home/__fm_weck_benchexec")
|
|
37
|
+
engine.env["PYTHONPATH"] = f"/home/__fm_weck_benchexec/{benchexec_package.name}"
|
|
38
|
+
else:
|
|
39
|
+
# Default to the bundled benchexec package
|
|
40
|
+
benchexec_package = configuration.get_shelve_path_for_benchexec()
|
|
41
|
+
shutil.copyfile(BENCHEXEC_WHL, benchexec_package)
|
|
42
|
+
engine.env["PYTHONPATH"] = f"{CACHE_MOUNT_LOCATION}/.lib/benchexec.whl"
|
|
43
|
+
|
|
44
|
+
for path in mountable_absolute_paths_of_command(Path.cwd().absolute(), command):
|
|
45
|
+
engine.mount(path, str(path) + ":ro")
|
|
46
|
+
|
|
47
|
+
for arg in extra_container_args:
|
|
48
|
+
engine.add_container_long_opt(arg)
|
|
49
|
+
|
|
50
|
+
configuration.make_runexec_script_available()
|
|
51
|
+
|
|
52
|
+
engine.run(f"{CACHE_MOUNT_LOCATION}/.scripts/runexec", *command)
|
fm_weck/runexec_util.py
CHANGED
|
@@ -12,19 +12,23 @@ from typing import Iterable, List
|
|
|
12
12
|
from fm_weck.engine import RESERVED_LOCATIONS
|
|
13
13
|
|
|
14
14
|
|
|
15
|
-
def mountable_absolute_paths_of_command(command: List[str]) -> Iterable[Path]:
|
|
15
|
+
def mountable_absolute_paths_of_command(cwd: Path, command: List[str]) -> Iterable[Path]:
|
|
16
16
|
"""
|
|
17
17
|
Iterate over all arguments in command and find those that are paths.
|
|
18
18
|
The paths are returned as absolute paths, that already exist on the host.
|
|
19
19
|
"""
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
# FIXME: Disallowing home is a temporary solution to get this to work in the BenchCloud.
|
|
22
|
+
# The benchcloud will eventually hide /home, so it can be omitted in this case. But potential users should be aware of this.
|
|
23
|
+
no_mount = {"/", "/dev", "/proc", "/sys", "/home"}
|
|
22
24
|
|
|
23
25
|
command_iter = (arg for arg in command if arg not in no_mount)
|
|
26
|
+
seen = set()
|
|
24
27
|
for arg in command_iter:
|
|
25
28
|
if arg in RESERVED_LOCATIONS:
|
|
26
29
|
logging.warning("Ignoring reserved path %s. This path is internally used and mounted by fm-weck.", arg)
|
|
27
30
|
|
|
28
31
|
path = Path(arg)
|
|
29
|
-
if path.exists() and path.
|
|
32
|
+
if path not in seen and path.is_absolute() and path.exists() and not path.is_relative_to(cwd):
|
|
30
33
|
yield path
|
|
34
|
+
seen.add(path)
|
fm_weck/serve.py
CHANGED
|
@@ -16,9 +16,6 @@ from typing import Optional, Tuple, Union
|
|
|
16
16
|
from fm_tools import FmData
|
|
17
17
|
from fm_tools.benchexec_helper import DataModel
|
|
18
18
|
|
|
19
|
-
from fm_weck.resources import BENCHEXEC_WHL
|
|
20
|
-
from fm_weck.runexec_util import mountable_absolute_paths_of_command
|
|
21
|
-
|
|
22
19
|
from .config import Config, parse_fm_data
|
|
23
20
|
from .engine import CACHE_MOUNT_LOCATION, Engine
|
|
24
21
|
|
|
@@ -149,27 +146,3 @@ def run_manual(
|
|
|
149
146
|
logger.debug("Using executable %s", executable)
|
|
150
147
|
logger.debug("Assembled command %s", [executable, *command])
|
|
151
148
|
engine.run(executable, *command)
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
def run_runexec(benchexec_package: Optional[Path], use_image: Optional[str], configuration: Config, command: list[str]):
|
|
155
|
-
if use_image is not None:
|
|
156
|
-
configuration.set_default_image(use_image)
|
|
157
|
-
|
|
158
|
-
engine = Engine.from_config(configuration)
|
|
159
|
-
engine.add_benchexec_capabilities = True
|
|
160
|
-
|
|
161
|
-
if benchexec_package is not None:
|
|
162
|
-
engine.mount(benchexec_package, "/home/__fm_weck_benchexec")
|
|
163
|
-
engine.env["PYTHONPATH"] = "/home/__fm_weck_benchexec"
|
|
164
|
-
else:
|
|
165
|
-
# Default to the bundled benchexec package
|
|
166
|
-
benchexec_package = configuration.get_shelve_path_for_benchexec()
|
|
167
|
-
shutil.copyfile(BENCHEXEC_WHL, benchexec_package)
|
|
168
|
-
engine.env["PYTHONPATH"] = f"{CACHE_MOUNT_LOCATION}/.lib/benchexec.whl"
|
|
169
|
-
|
|
170
|
-
for path in mountable_absolute_paths_of_command(command):
|
|
171
|
-
engine.mount(path, path)
|
|
172
|
-
|
|
173
|
-
configuration.make_runexec_script_available()
|
|
174
|
-
|
|
175
|
-
engine.run(f"{CACHE_MOUNT_LOCATION}/.scripts/runexec", *command)
|