Skip to content

Commit 2afe816

Browse files
sim642avsm
authored andcommitted
[new release] goblint (2.4.0)
CHANGES: * Remove unmaintained analyses: spec, file (goblint/analyzer#1281). * Add linear two-variable equalities analysis (goblint/analyzer#1297, goblint/analyzer#1412, goblint/analyzer#1466). * Add callstring, loopfree callstring and context gas analyses (goblint/analyzer#1038, goblint/analyzer#1340, goblint/analyzer#1379, goblint/analyzer#1427, goblint/analyzer#1439). * Add non-relational thread-modular value analyses with thread IDs (goblint/analyzer#1366, goblint/analyzer#1398, goblint/analyzer#1399). * Add NULL byte array domain (goblint/analyzer#1076). * Fix spurious overflow warnings from internal evaluations (goblint/analyzer#1406, goblint/analyzer#1411, goblint/analyzer#1511). * Refactor non-definite mutex handling to fix unsoundness (goblint/analyzer#1430, goblint/analyzer#1500, goblint/analyzer#1503, goblint/analyzer#1409). * Fix non-relational thread-modular value analysis unsoundness with ambiguous points-to sets (goblint/analyzer#1457, goblint/analyzer#1458). * Fix mutex type analysis unsoundness and enable it by default (goblint/analyzer#1414, goblint/analyzer#1416, goblint/analyzer#1510). * Add points-to set refinement on mutex path splitting (goblint/analyzer#1287, goblint/analyzer#1343, goblint/analyzer#1374, goblint/analyzer#1396, goblint/analyzer#1407). * Improve narrowing operators (goblint/analyzer#1502, goblint/analyzer#1540, goblint/analyzer#1543). * Extract automatic configuration tuning for soundness (goblint/analyzer#1369). * Fix many locations in witnesses (goblint/analyzer#1355, goblint/analyzer#1372, goblint/analyzer#1400, goblint/analyzer#1403). * Improve output readability (goblint/analyzer#1294, goblint/analyzer#1312, goblint/analyzer#1405, goblint/analyzer#1497). * Refactor logging (goblint/analyzer#1117). * Modernize all library function specifications (goblint/analyzer#1029, goblint/analyzer#688, goblint/analyzer#1174, goblint/analyzer#1289, goblint/analyzer#1447, goblint/analyzer#1487). * Remove OCaml 4.10, 4.11, 4.12 and 4.13 support (goblint/analyzer#1448).
1 parent 8f769c4 commit 2afe816

1 file changed

Lines changed: 114 additions & 0 deletions

File tree

  • packages/goblint/goblint.2.4.0
Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
opam-version: "2.0"
2+
synopsis: "Static analysis framework for C"
3+
description: """
4+
Goblint is a sound static analysis framework for C programs using abstract interpretation.
5+
It specializes in thread-modular verification of multi-threaded programs, especially regarding data races.
6+
Goblint includes analyses for assertions, overflows, deadlocks, etc and can be extended with new analyses.
7+
"""
8+
maintainer: [
9+
"Simmo Saan <simmo.saan@gmail.com>"
10+
"Michael Schwarz <michael.schwarz93@gmail.com>"
11+
"Karoliine Holter"
12+
]
13+
authors: [
14+
"Simmo Saan"
15+
"Michael Schwarz"
16+
"Julian Erhard"
17+
"Sarah Tilscher"
18+
"Karoliine Holter"
19+
"Ralf Vogler"
20+
"Kalmer Apinis"
21+
"Vesal Vojdani"
22+
]
23+
license: "MIT"
24+
tags: [
25+
"program analysis"
26+
"program verification"
27+
"static analysis"
28+
"abstract interpretation"
29+
"C"
30+
"data race analysis"
31+
"concurrency"
32+
]
33+
homepage: "https://goblint.in.tum.de"
34+
doc: "https://goblint.readthedocs.io/en/latest/"
35+
bug-reports: "https://github.com/goblint/analyzer/issues"
36+
depends: [
37+
"dune" {>= "3.7"}
38+
"ocaml" {>= "4.14"}
39+
"goblint-cil" {>= "2.0.4"}
40+
"batteries" {>= "3.5.1"}
41+
"zarith" {>= "1.10"}
42+
"yojson" {>= "2.0.0"}
43+
"qcheck-core" {>= "0.19"}
44+
"ppx_deriving" {>= "6.0.2"}
45+
"ppx_deriving_hash" {>= "0.1.2"}
46+
"ppx_deriving_yojson" {>= "3.7.0"}
47+
"ounit2" {with-test}
48+
"qcheck-ounit" {with-test}
49+
"odoc" {with-doc}
50+
"fpath"
51+
"dune-site"
52+
"dune-build-info"
53+
"json-data-encoding"
54+
"jsonrpc" {>= "1.12"}
55+
"sha" {>= "1.12"}
56+
"fileutils" {>= "0.6.4"}
57+
"cpu"
58+
"arg-complete"
59+
"yaml" {>= "3.0.0"}
60+
"uuidm"
61+
"catapult"
62+
"catapult-file"
63+
"conf-gmp" {>= "3"}
64+
"conf-ruby" {with-test}
65+
"benchmark" {with-test}
66+
"conf-gcc"
67+
]
68+
depopts: [
69+
"apron" {>= "v0.9.15"}
70+
"z3"
71+
]
72+
conflicts: [
73+
"result" {< "1.5"}
74+
"ez-conf-lib" {= "1"}
75+
]
76+
build: [
77+
["dune" "subst"] {dev}
78+
[
79+
"dune"
80+
"build"
81+
"-p"
82+
name
83+
"-j"
84+
jobs
85+
"--promote-install-files=false"
86+
"@install"
87+
"@runtest" {with-test}
88+
"@doc" {with-doc}
89+
]
90+
["dune" "install" "-p" name "--create-install-files" name]
91+
]
92+
dev-repo: "git+https://github.com/goblint/analyzer.git"
93+
# on `dune build` goblint.opam will be generated from goblint.opam.template and dune-project
94+
# also remember to generate/adjust goblint.opam.locked!
95+
available: os-family != "bsd" & os-distribution != "alpine"
96+
# pin-depends: [
97+
# published goblint-cil 2.0.4 is currently up-to-date, so no pin needed
98+
# [ "goblint-cil.2.0.3" "git+https://github.com/goblint/cil.git#ae3a4949d478fad77e004c6fe15a7c83427df59f" ]
99+
# ]
100+
depexts: [
101+
["libgraph-easy-perl"] {os-distribution = "ubuntu" & with-test}
102+
]
103+
post-messages: [
104+
"Do not benchmark Goblint on OCaml 5 (https://goblint.readthedocs.io/en/latest/user-guide/benchmarking/)." {ocaml:version >= "5.0.0"}
105+
]
106+
url {
107+
src:
108+
"https://github.com/goblint/analyzer/releases/download/v2.4.0/goblint-2.4.0.tbz"
109+
checksum: [
110+
"sha256=99b78e6def71534d195eef9084baa26d8334b36084e120aa6afb300c9bf8afa6"
111+
"sha512=f3162bd95a03c00358a2991f6152fc6169205bfb4c55e2c483e98cc3935673df9656d025b6f1ea0fa5f1bd0aee037d4f483966b0d2907e3fa9bf11a93a3392af"
112+
]
113+
}
114+
x-commit-hash: "b129fab7de3ab5fd85d2f1340b2d9c5a4e4e2653"

0 commit comments

Comments
 (0)