fm-weck 1.2.0__py3-none-any.whl → 1.3.0__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.
Files changed (62) hide show
  1. fm_weck/__init__.py +1 -1
  2. fm_weck/cli.py +47 -4
  3. fm_weck/config.py +60 -15
  4. fm_weck/engine.py +36 -14
  5. fm_weck/exceptions.py +9 -0
  6. fm_weck/image_mgr.py +4 -2
  7. fm_weck/resources/BenchExec-3.25-py3-none-any.whl +0 -0
  8. fm_weck/resources/BenchExec-3.25-py3-none-any.whl.license +3 -0
  9. fm_weck/resources/__init__.py +2 -0
  10. fm_weck/resources/fm_tools/2ls.yml +1 -1
  11. fm_weck/resources/fm_tools/brick.yml +1 -1
  12. fm_weck/resources/fm_tools/bubaak-split.yml +5 -0
  13. fm_weck/resources/fm_tools/bubaak.yml +1 -1
  14. fm_weck/resources/fm_tools/cbmc.yml +5 -0
  15. fm_weck/resources/fm_tools/coveritest.yml +12 -2
  16. fm_weck/resources/fm_tools/cpa-witness2test.yml +11 -2
  17. fm_weck/resources/fm_tools/cpachecker.yml +5 -0
  18. fm_weck/resources/fm_tools/cpv.yml +8 -1
  19. fm_weck/resources/fm_tools/cseq.yml +15 -5
  20. fm_weck/resources/fm_tools/dartagnan.yml +1 -1
  21. fm_weck/resources/fm_tools/deagle.yml +1 -1
  22. fm_weck/resources/fm_tools/ebf.yml +1 -1
  23. fm_weck/resources/fm_tools/esbmc-kind.yml +1 -1
  24. fm_weck/resources/fm_tools/frama-c-sv.yml +1 -1
  25. fm_weck/resources/fm_tools/fshell-witness2test.yml +10 -1
  26. fm_weck/resources/fm_tools/fusebmc-ia.yml +1 -1
  27. fm_weck/resources/fm_tools/fusebmc.yml +1 -1
  28. fm_weck/resources/fm_tools/gdart.yml +1 -1
  29. fm_weck/resources/fm_tools/goblint.yml +1 -1
  30. fm_weck/resources/fm_tools/gwit.yml +1 -1
  31. fm_weck/resources/fm_tools/infer.yml +13 -5
  32. fm_weck/resources/fm_tools/jayhorn.yml +1 -1
  33. fm_weck/resources/fm_tools/jbmc.yml +1 -1
  34. fm_weck/resources/fm_tools/key.yml +8 -0
  35. fm_weck/resources/fm_tools/korn.yml +1 -1
  36. fm_weck/resources/fm_tools/liv.yml +13 -1
  37. fm_weck/resources/fm_tools/metaval.yml +14 -1
  38. fm_weck/resources/fm_tools/mlb.yml +1 -1
  39. fm_weck/resources/fm_tools/mopsa.yml +1 -1
  40. fm_weck/resources/fm_tools/pesco.yml +1 -1
  41. fm_weck/resources/fm_tools/predatorhp.yml +1 -1
  42. fm_weck/resources/fm_tools/prtest.yml +1 -1
  43. fm_weck/resources/fm_tools/schema.yml +16 -0
  44. fm_weck/resources/fm_tools/symbiotic.yml +10 -2
  45. fm_weck/resources/fm_tools/testcov.yml +1 -1
  46. fm_weck/resources/fm_tools/theta.yml +1 -1
  47. fm_weck/resources/fm_tools/tracerx.yml +1 -1
  48. fm_weck/resources/fm_tools/uautomizer.yml +5 -1
  49. fm_weck/resources/fm_tools/ugemcutter.yml +1 -1
  50. fm_weck/resources/fm_tools/ukojak.yml +1 -1
  51. fm_weck/resources/fm_tools/utaipan.yml +1 -1
  52. fm_weck/resources/fm_tools/veriabs.yml +2 -2
  53. fm_weck/resources/fm_tools/veriabsl.yml +2 -2
  54. fm_weck/resources/fm_tools/verifuzz.yml +1 -1
  55. fm_weck/resources/run_with_overlay.sh +1 -1
  56. fm_weck/resources/runexec +16 -0
  57. fm_weck/runexec_util.py +30 -0
  58. fm_weck/serve.py +29 -2
  59. {fm_weck-1.2.0.dist-info → fm_weck-1.3.0.dist-info}/METADATA +1 -1
  60. {fm_weck-1.2.0.dist-info → fm_weck-1.3.0.dist-info}/RECORD +62 -57
  61. {fm_weck-1.2.0.dist-info → fm_weck-1.3.0.dist-info}/WHEEL +0 -0
  62. {fm_weck-1.2.0.dist-info → fm_weck-1.3.0.dist-info}/entry_points.txt +0 -0
@@ -21,7 +21,7 @@ versions:
21
21
  required_ubuntu_packages: []
22
22
  benchexec_toolinfo_options: ["-s", "kinduction"]
23
23
  - version: "svcomp23"
24
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/ebf.zip"
24
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/ebf.zip"
25
25
  benchexec_toolinfo_options: ["-s", "kinduction"]
26
26
  required_ubuntu_packages: []
27
27
 
@@ -22,7 +22,7 @@ versions:
22
22
  benchexec_toolinfo_options: ["-s", "kinduction"]
23
23
  required_ubuntu_packages: []
24
24
  - version: "svcomp23"
25
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/esbmc-kind.zip"
25
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/esbmc-kind.zip"
26
26
  benchexec_toolinfo_options: ["-s", "kinduction"]
27
27
  required_ubuntu_packages: []
28
28
  - version: "testcomp23"
@@ -24,7 +24,7 @@ versions:
24
24
  - python3-pycparser
25
25
  - python3-pandas
26
26
  - version: "svcomp23"
27
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/frama-c-sv.zip"
27
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/frama-c-sv.zip"
28
28
  benchexec_toolinfo_options: ["--reach-as-overflow", "--allow-unsafe"]
29
29
  required_ubuntu_packages:
30
30
  - python3-pycparser
@@ -10,7 +10,8 @@ fmtools_entry_maintainers:
10
10
  - tautschnig
11
11
 
12
12
  maintainers:
13
- - name: Michael Tautschnig
13
+ - orcid: 0000-0002-7947-983X
14
+ name: Michael Tautschnig
14
15
  institution: Queen Mary University of London
15
16
  country: UK
16
17
  url: https://www.tautschnig.net/
@@ -36,6 +37,7 @@ competition_participations:
36
37
  track: "Validation of Violation Witnesses 1.0"
37
38
  tool_version: "svcomp24"
38
39
  jury_member:
40
+ orcid: 0000-0002-7947-983X
39
41
  name: Michael Tautschnig
40
42
  institution: Queen Mary University of London
41
43
  country: UK
@@ -45,3 +47,10 @@ techniques:
45
47
  - Bounded Model Checking
46
48
 
47
49
  frameworks_solvers: []
50
+
51
+ used_actors:
52
+ - actor_type: "Witness Transformer"
53
+ description: |
54
+ Transforms a witness to a test case.
55
+
56
+ literature: []
@@ -26,7 +26,7 @@ versions:
26
26
  benchexec_toolinfo_options: ["-s", "incr"]
27
27
  required_ubuntu_packages: []
28
28
  - version: "testcomp23"
29
- url: "https://gitlab.com/sosy-lab/test-comp/archives-2023/-/raw/main/2023/FuSeBMC_IA.zip"
29
+ url: "https://gitlab.com/sosy-lab/test-comp/archives-2023/-/raw/testcomp23/2023/FuSeBMC_IA.zip"
30
30
  benchexec_toolinfo_options: ["-s", "incr"]
31
31
  required_ubuntu_packages: []
32
32
 
@@ -21,7 +21,7 @@ versions:
21
21
  benchexec_toolinfo_options: ["-s", "incr"]
22
22
  required_ubuntu_packages: []
23
23
  - version: "testcomp23"
24
- url: "https://gitlab.com/sosy-lab/test-comp/archives-2023/-/raw/main/2023/FuSeBMC.zip"
24
+ url: "https://gitlab.com/sosy-lab/test-comp/archives-2023/-/raw/testcomp23/2023/FuSeBMC.zip"
25
25
  benchexec_toolinfo_options: ["-s", "incr"]
26
26
  required_ubuntu_packages: []
27
27
 
@@ -23,7 +23,7 @@ versions:
23
23
  required_ubuntu_packages:
24
24
  - openjdk-11-jre-headless
25
25
  - version: "svcomp23"
26
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/gdart.zip"
26
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/gdart.zip"
27
27
  benchexec_toolinfo_options: []
28
28
  required_ubuntu_packages:
29
29
  - openjdk-11-jre-headless
@@ -29,7 +29,7 @@ versions:
29
29
  benchexec_toolinfo_options: ["--conf", "conf/svcomp24-validate.json"]
30
30
  required_ubuntu_packages: []
31
31
  - version: "svcomp23"
32
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/goblint.zip"
32
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/goblint.zip"
33
33
  benchexec_toolinfo_options: ["--conf", "conf/svcomp23.json"]
34
34
  required_ubuntu_packages: []
35
35
 
@@ -23,7 +23,7 @@ versions:
23
23
  required_ubuntu_packages:
24
24
  - openjdk-11-jre-headless
25
25
  - version: "svcomp23"
26
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/val-gwit.zip"
26
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/val_gwit.zip"
27
27
  benchexec_toolinfo_options: []
28
28
  required_ubuntu_packages:
29
29
  - openjdk-11-jre-headless
@@ -11,10 +11,11 @@ fmtools_entry_maintainers:
11
11
  - lemberger
12
12
 
13
13
  maintainers:
14
- - name: Hors Concours
15
- institution: --
16
- country: --
17
- url: null
14
+ - orcid: 0000-0001-7365-5030
15
+ name: Matthias Kettl
16
+ institution: LMU Munich
17
+ country: Germany
18
+ url: https://www.sosy-lab.org/people/kettl/
18
19
 
19
20
  versions:
20
21
  - version: "svcomp24"
@@ -22,7 +23,7 @@ versions:
22
23
  benchexec_toolinfo_options: []
23
24
  required_ubuntu_packages: []
24
25
  - version: "svcomp23"
25
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/infer.zip"
26
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/infer.zip"
26
27
  benchexec_toolinfo_options: []
27
28
  required_ubuntu_packages: []
28
29
 
@@ -51,3 +52,10 @@ techniques:
51
52
  - Portfolio
52
53
 
53
54
  frameworks_solvers: []
55
+
56
+ used_actors:
57
+ - actor_type: "Translator"
58
+ description: |
59
+ Translates from Java, C, C++ to SIL for verification.
60
+
61
+ literature: []
@@ -22,7 +22,7 @@ versions:
22
22
  required_ubuntu_packages:
23
23
  - openjdk-8-jdk-headless
24
24
  - version: "svcomp23"
25
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/jayhorn.zip"
25
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/jayhorn.zip"
26
26
  benchexec_toolinfo_options: []
27
27
  required_ubuntu_packages:
28
28
  - openjdk-8-jdk-headless
@@ -22,7 +22,7 @@ versions:
22
22
  benchexec_toolinfo_options: ["--graphml-witness", "witness.graphml"]
23
23
  required_ubuntu_packages: []
24
24
  - version: "svcomp23"
25
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/jbmc.zip"
25
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/jbmc.zip"
26
26
  benchexec_toolinfo_options: []
27
27
  required_ubuntu_packages: []
28
28
 
@@ -1,4 +1,7 @@
1
1
  name: KeY
2
+ description: |
3
+ KeY is a tool for deductive verification to
4
+ prove the correctness of Java programs.
2
5
  input_languages:
3
6
  - Java
4
7
  project_url: https://www.key-project.org/
@@ -20,6 +23,11 @@ maintainers:
20
23
  institution: Karlsruhe Institute of Technology
21
24
  country: Germany
22
25
  url: https://formal.kastel.kit.edu/beckert/
26
+ - orcid: 0009-0003-4847-4707
27
+ name: Richard Bubel
28
+ institution: TU Darmstadt
29
+ country: Germany
30
+ url: https://www.informatik.tu-darmstadt.de/se/gruppenmitglieder/groupmembers_detailseite_51008.en.jsp
23
31
  - orcid: 0000-0001-8000-7613
24
32
  name: Reiner Hähnle
25
33
  institution: TU Darmstadt
@@ -21,7 +21,7 @@ versions:
21
21
  benchexec_toolinfo_options: ["-witness", "witness.graphml", "-smt2", "clauses.smt2", "-model", "-write", "-random", "10", "-timeout", "20", "-golem", "-timeout", "20", "-z3", "-timeout", "900", "-eld:portfolio"]
22
22
  required_ubuntu_packages: []
23
23
  - version: "svcomp23"
24
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/korn.zip"
24
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/korn.zip"
25
25
  benchexec_toolinfo_options: ["-witness", "witness.graphml", "-smt2", "clauses.smt2", "-model", "-write", "-confirm", "-random", "10", "-timeout", "20", "-z3", "-timeout", "900", "-eld:portfolio"]
26
26
  required_ubuntu_packages: []
27
27
 
@@ -10,7 +10,8 @@ fmtools_entry_maintainers:
10
10
  - masp
11
11
 
12
12
  maintainers:
13
- - name: Martin Spiessl
13
+ - orcid: 0000-0002-9169-9130
14
+ name: Martin Spiessl
14
15
  institution: LMU Munich
15
16
  country: Germany
16
17
  url: https://www.sosy-lab.org/people/spiessl/
@@ -26,6 +27,7 @@ competition_participations:
26
27
  track: "Validation of Correctness Witnesses 1.0"
27
28
  tool_version: "svcomp24"
28
29
  jury_member:
30
+ orcid: 0000-0002-9169-9130
29
31
  name: Martin Spiessl
30
32
  institution: LMU Munich
31
33
  country: Germany
@@ -35,3 +37,13 @@ techniques:
35
37
  - "Task Translation"
36
38
 
37
39
  frameworks_solvers: []
40
+
41
+ used_actors:
42
+ - actor_type: "Splitter"
43
+ description: |
44
+ Splits a program into straight-line programs for witness validation.
45
+ - actor_type: "Annotator"
46
+ description: |
47
+ Annotates assumes and assertions into straight-line programs for witness validation.
48
+
49
+ literature: []
@@ -10,7 +10,8 @@ fmtools_entry_maintainers:
10
10
  - masp
11
11
 
12
12
  maintainers:
13
- - name: Martin Spiessl
13
+ - orcid: 0000-0002-9169-9130
14
+ name: Martin Spiessl
14
15
  institution: LMU Munich
15
16
  country: Germany
16
17
  url: https://www.sosy-lab.org/people/spiessl/
@@ -34,6 +35,7 @@ competition_participations:
34
35
  track: "Validation of Correctness Witnesses 1.0"
35
36
  tool_version: "svcomp24-correctness"
36
37
  jury_member:
38
+ orcid: 0000-0002-9169-9130
37
39
  name: Martin Spiessl
38
40
  institution: LMU Munich
39
41
  country: Germany
@@ -42,6 +44,7 @@ competition_participations:
42
44
  track: "Validation of Violation Witnesses 1.0"
43
45
  tool_version: "svcomp24-violation"
44
46
  jury_member:
47
+ orcid: 0000-0002-9169-9130
45
48
  name: Martin Spiessl
46
49
  institution: LMU Munich
47
50
  country: Germany
@@ -52,3 +55,13 @@ techniques:
52
55
  - Task Translation
53
56
 
54
57
  frameworks_solvers: []
58
+
59
+ used_actors:
60
+ - actor_type: "Annotator"
61
+ description: |
62
+ Annotates invariants or state guards from software witnesses in the program as assertions or assumptions.
63
+
64
+ literature:
65
+ - doi: 10.1007/978-3-030-53291-8_10
66
+ title: "MetaVal: Witness Validation via Verification"
67
+ year: 2020
@@ -22,7 +22,7 @@ versions:
22
22
  required_ubuntu_packages:
23
23
  - openjdk-8-jre-headless
24
24
  - version: "svcomp23"
25
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/mlb.zip"
25
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/mlb.zip"
26
26
  benchexec_toolinfo_options: []
27
27
  required_ubuntu_packages:
28
28
  - openjdk-8-jre-headless
@@ -44,7 +44,7 @@ versions:
44
44
  - llvm
45
45
  - llvm-dev
46
46
  - version: "svcomp23"
47
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/mopsa.zip"
47
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/mopsa.zip"
48
48
  benchexec_toolinfo_options: []
49
49
  required_ubuntu_packages:
50
50
  - clang
@@ -22,7 +22,7 @@ versions:
22
22
  benchexec_toolinfo_options: ['--memory', '10000M', '--timelimit', '900']
23
23
  required_ubuntu_packages: []
24
24
  - version: "svcomp23"
25
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/pesco.zip"
25
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/pesco.zip"
26
26
  benchexec_toolinfo_options: ['-svcomp20-pesco', '-heap', '10000M', '-stack', '2048k', '-benchmark', '-timelimit', '900 s']
27
27
  required_ubuntu_packages: []
28
28
 
@@ -23,7 +23,7 @@ versions:
23
23
  required_ubuntu_packages:
24
24
  - python2.7
25
25
  - version: "svcomp23"
26
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/predatorhp.zip"
26
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/predatorhp.zip"
27
27
  benchexec_toolinfo_options: ['--witness', 'error-witness.graphml']
28
28
  required_ubuntu_packages:
29
29
  - expect
@@ -21,7 +21,7 @@ versions:
21
21
  benchexec_toolinfo_options: []
22
22
  required_ubuntu_packages: []
23
23
  - version: "testcomp23"
24
- url: "https://gitlab.com/sosy-lab/test-comp/archives-2023/-/raw/main/2023/prtest.zip"
24
+ url: "https://gitlab.com/sosy-lab/test-comp/archives-2023/-/raw/testcomp23/2023/prtest.zip"
25
25
  benchexec_toolinfo_options: []
26
26
  required_ubuntu_packages: []
27
27
 
@@ -6,6 +6,9 @@ properties:
6
6
  name:
7
7
  type: string
8
8
  description: The name of the competition tool.
9
+ description:
10
+ type: string
11
+ description: A description of the tool.
9
12
  input_languages:
10
13
  type: array
11
14
  items:
@@ -512,6 +515,19 @@ properties:
512
515
  Apron
513
516
 
514
517
  description: Frameworks or solvers used by the tool.
518
+ used_actors:
519
+ type: array
520
+ items:
521
+ type: object
522
+ properties:
523
+ actor_type:
524
+ type: string
525
+ description:
526
+ type: string
527
+ required:
528
+ - actor_type
529
+ - description
530
+ description: Actors/components that are used by the tool.
515
531
  literature:
516
532
  type: array
517
533
  items:
@@ -30,13 +30,13 @@ versions:
30
30
  - python3
31
31
  - python3-lxml
32
32
  - version: "svcomp23"
33
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/symbiotic.zip"
33
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/symbiotic.zip"
34
34
  benchexec_toolinfo_options: ['--witness', 'witness.graphml', '--sv-comp']
35
35
  required_ubuntu_packages:
36
36
  - python3
37
37
  - python3-lxml
38
38
  - version: "testcomp23"
39
- url: "https://gitlab.com/sosy-lab/test-comp/archives-2023/-/raw/main/2023/symbiotic.zip"
39
+ url: "https://gitlab.com/sosy-lab/test-comp/archives-2023/-/raw/testcomp23/2023/symbiotic.zip"
40
40
  benchexec_toolinfo_options: ['--test-comp']
41
41
  required_ubuntu_packages:
42
42
  - python3
@@ -95,6 +95,14 @@ techniques:
95
95
  frameworks_solvers:
96
96
  - Z3
97
97
 
98
+ used_actors:
99
+ - actor_type: "Slicer"
100
+ description: |
101
+ Slices the program before symbolic execution.
102
+ - actor_type: "Instrumentor"
103
+ description: |
104
+ Instruments the program to track allocated memory regions for memory-safety analysis.
105
+
98
106
  literature:
99
107
  - doi: 10.1007/978-3-031-57256-2_29
100
108
  title: "Symbiotic 10: Lazy Memory Initialization and Compact Symbolic Execution (Competition Contribution)"
@@ -30,7 +30,7 @@ versions:
30
30
  required_ubuntu_packages:
31
31
  - clang-format
32
32
  - version: "testcomp23"
33
- url: "https://gitlab.com/sosy-lab/test-comp/archives-2023/-/raw/main/2023/val_testcov.zip"
33
+ url: "https://gitlab.com/sosy-lab/test-comp/archives-2023/-/raw/testcomp23/2023/val_testcov.zip"
34
34
  benchexec_toolinfo_options: ['--memlimit', '6GB', '--timelimit-per-run', '50', '--verbose', '--no-plots', '--reduction', 'BY_ORDER', '--reduction-output', 'test-suite']
35
35
  required_ubuntu_packages: []
36
36
 
@@ -25,7 +25,7 @@ versions:
25
25
  - libgomp1
26
26
  - libmpfr6
27
27
  - version: "svcomp23"
28
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/theta.zip"
28
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/theta.zip"
29
29
  benchexec_toolinfo_options: []
30
30
  required_ubuntu_packages:
31
31
  - openjdk-17-jre-headless
@@ -22,7 +22,7 @@ versions:
22
22
  benchexec_toolinfo_options: []
23
23
  required_ubuntu_packages: []
24
24
  - version: "svcomp23"
25
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/tracerx.zip"
25
+ url: "https://gitlab.com/sosy-lab/test-comp/archives-2023/-/raw/testcomp23/2023/tracerx.zip"
26
26
  benchexec_toolinfo_options: []
27
27
  required_ubuntu_packages: []
28
28
 
@@ -1,4 +1,8 @@
1
1
  name: UAutomizer
2
+ description: |
3
+ Ultimate Automizer is a software model checker that
4
+ is based on automata-based techniques and interpolation
5
+ to check for software errors and to verify program properties.
2
6
  input_languages:
3
7
  - C
4
8
  project_url: https://ultimate-pa.org
@@ -71,7 +75,7 @@ versions:
71
75
  full_container_images:
72
76
  - registry.gitlab.com/sosy-lab/benchmarking/competition-scripts/user:2024
73
77
  - version: svcomp23
74
- url: https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/uautomizer.zip
78
+ url: https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/uautomizer.zip
75
79
  benchexec_toolinfo_options: [--full-output]
76
80
  required_ubuntu_packages:
77
81
  - openjdk-11-jre-headless
@@ -33,7 +33,7 @@ versions:
33
33
  required_ubuntu_packages:
34
34
  - openjdk-11-jre-headless
35
35
  - version: svcomp23
36
- url: https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/ugemcutter.zip
36
+ url: https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/ugemcutter.zip
37
37
  benchexec_toolinfo_options: [--full-output]
38
38
  required_ubuntu_packages:
39
39
  - openjdk-11-jre-headless
@@ -33,7 +33,7 @@ versions:
33
33
  required_ubuntu_packages:
34
34
  - openjdk-11-jre-headless
35
35
  - version: svcomp23
36
- url: https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/ukojak.zip
36
+ url: https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/ukojak.zip
37
37
  benchexec_toolinfo_options: [--full-output]
38
38
  required_ubuntu_packages:
39
39
  - openjdk-11-jre-headless
@@ -33,7 +33,7 @@ versions:
33
33
  required_ubuntu_packages:
34
34
  - openjdk-11-jre-headless
35
35
  - version: svcomp23
36
- url: https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/utaipan.zip
36
+ url: https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/utaipan.zip
37
37
  benchexec_toolinfo_options: [--full-output]
38
38
  required_ubuntu_packages:
39
39
  - openjdk-11-jre-headless
@@ -2,7 +2,7 @@ name: VeriAbs
2
2
  input_languages:
3
3
  - C
4
4
  project_url: https://www.tcs.com
5
- repository_url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/veriabs.zip"
5
+ repository_url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/veriabs.zip"
6
6
  spdx_license_identifier: Other
7
7
  benchexec_toolinfo_module: benchexec.tools.veriabs
8
8
  fmtools_format_version: "2.0"
@@ -25,7 +25,7 @@ versions:
25
25
  - openjdk-11-jre-headless
26
26
  - clang-12
27
27
  - version: "svcomp23"
28
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/veriabs.zip"
28
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/veriabs.zip"
29
29
  benchexec_toolinfo_options: ['--sv22']
30
30
  required_ubuntu_packages:
31
31
  - libc6-dev-i386
@@ -2,7 +2,7 @@ name: VeriAbsL
2
2
  input_languages:
3
3
  - C
4
4
  project_url: https://www.tcs.com
5
- repository_url: https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/veriabsl.zip
5
+ repository_url: https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/veriabsl.zip
6
6
  spdx_license_identifier: Other
7
7
  benchexec_toolinfo_module: benchexec.tools.veriabsl
8
8
  fmtools_format_version: "2.0"
@@ -40,7 +40,7 @@ versions:
40
40
  - python3-urllib3
41
41
  - clang-12
42
42
  - version: "svcomp23"
43
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/veriabsl.zip"
43
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/veriabsl.zip"
44
44
  benchexec_toolinfo_options: []
45
45
  required_ubuntu_packages:
46
46
  - libc6-dev-i386
@@ -16,7 +16,7 @@ maintainers:
16
16
 
17
17
  versions:
18
18
  - version: "svcomp23"
19
- url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/main/2023/verifuzz.zip"
19
+ url: "https://gitlab.com/sosy-lab/sv-comp/archives-2023/-/raw/svcomp23/2023/verifuzz.zip"
20
20
  benchexec_toolinfo_options: []
21
21
  required_ubuntu_packages:
22
22
  - clang-12
@@ -14,7 +14,7 @@ mkdir -p /tmp/overlay/work
14
14
  mkdir -p /home/_cwd
15
15
 
16
16
  # We mount the weck_cache to /home/weck_cache in the container
17
- cp -r "/home/weck_cache/$TOOL_DIR" /tmp/overlay/
17
+ cp -r "/home/fm-weck_cache/$TOOL_DIR" /tmp/overlay/
18
18
 
19
19
  # Assume workdir is /home/cwd
20
20
  # Assume the user $PWD is mounted to home/cwd
@@ -0,0 +1,16 @@
1
+ #!/bin/env python3
2
+
3
+ # This file is part of fm-weck: executing fm-tools in containerized environments.
4
+ # https://gitlab.com/sosy-lab/software/fm-weck
5
+ #
6
+ # SPDX-FileCopyrightText: 2024 Dirk Beyer <https://www.sosy-lab.org>
7
+ #
8
+ # SPDX-License-Identifier: Apache-2.0
9
+
10
+ # -*- coding: utf-8 -*-
11
+ import re
12
+ import sys
13
+ from benchexec.runexecutor import main
14
+ if __name__ == '__main__':
15
+ sys.argv[0] = re.sub(r'(-script\.pyw|\.exe)?$', '', sys.argv[0])
16
+ sys.exit(main())
@@ -0,0 +1,30 @@
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
+ from pathlib import Path
10
+ from typing import Iterable, List
11
+
12
+ from fm_weck.engine import RESERVED_LOCATIONS
13
+
14
+
15
+ def mountable_absolute_paths_of_command(command: List[str]) -> Iterable[Path]:
16
+ """
17
+ Iterate over all arguments in command and find those that are paths.
18
+ The paths are returned as absolute paths, that already exist on the host.
19
+ """
20
+
21
+ no_mount = {"/", "/dev", "/proc", "/sys"}
22
+
23
+ command_iter = (arg for arg in command if arg not in no_mount)
24
+ for arg in command_iter:
25
+ if arg in RESERVED_LOCATIONS:
26
+ logging.warning("Ignoring reserved path %s. This path is internally used and mounted by fm-weck.", arg)
27
+
28
+ path = Path(arg)
29
+ if path.exists() and path.is_absolute():
30
+ yield path
fm_weck/serve.py CHANGED
@@ -16,8 +16,11 @@ 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
+
19
22
  from .config import Config, parse_fm_data
20
- from .engine import Engine
23
+ from .engine import CACHE_MOUNT_LOCATION, Engine
21
24
 
22
25
  logger = logging.getLogger(__name__)
23
26
 
@@ -129,7 +132,7 @@ def run_guided(
129
132
 
130
133
  logger.debug("Assembled command from fm-tools: %s", command)
131
134
 
132
- engine.run("/home/weck_cache/.scripts/run_with_overlay.sh", shelve_space.name, *command)
135
+ engine.run(f"{CACHE_MOUNT_LOCATION}/.scripts/run_with_overlay.sh", shelve_space.name, *command)
133
136
 
134
137
 
135
138
  def run_manual(
@@ -146,3 +149,27 @@ def run_manual(
146
149
  logger.debug("Using executable %s", executable)
147
150
  logger.debug("Assembled command %s", [executable, *command])
148
151
  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)
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: fm-weck
3
- Version: 1.2.0
3
+ Version: 1.3.0
4
4
  Author-email: Henrik Wachowitz <henrik.wachowitz@ifi.lmu.de>
5
5
  Maintainer-email: Henrik Wachowitz <henrik.wachowitz@ifi.lmu.de>
6
6
  Classifier: Development Status :: 4 - Beta