-
Notifications
You must be signed in to change notification settings - Fork 1.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
CHANGES: Functionally equivalent to Goblint in SV-COMP 2025. * Add 32bit vs 64bit architecture support (goblint/analyzer#54, goblint/analyzer#1574). * Add per-function context gas analysis (goblint/analyzer#1569, goblint/analyzer#1570, goblint/analyzer#1598). * Adapt automatic static loop unrolling (goblint/analyzer#1516, goblint/analyzer#1582, goblint/analyzer#1583, goblint/analyzer#1584, goblint/analyzer#1590, goblint/analyzer#1595, goblint/analyzer#1599). * Adapt automatic configuration tuning (goblint/analyzer#1450, goblint/analyzer#1612, goblint/analyzer#1181, goblint/analyzer#1604). * Simplify non-relational integer invariants in witnesses (goblint/analyzer#1517). * Fix excessive hash collisions (goblint/analyzer#1594, goblint/analyzer#1602). * Clean up various code (goblint/analyzer#1095, goblint/analyzer#1523, goblint/analyzer#1554, goblint/analyzer#1575, goblint/analyzer#1588, goblint/analyzer#1597, goblint/analyzer#1614).
- Loading branch information
Showing
1 changed file
with
124 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,124 @@ | ||
opam-version: "2.0" | ||
synopsis: "Static analysis framework for C" | ||
description: """ | ||
Goblint is a sound static analysis framework for C programs using abstract interpretation. | ||
It specializes in thread-modular verification of multi-threaded programs, especially regarding data races. | ||
Goblint includes analyses for assertions, overflows, deadlocks, etc and can be extended with new analyses. | ||
""" | ||
maintainer: [ | ||
"Simmo Saan <[email protected]>" | ||
"Michael Schwarz <[email protected]>" | ||
"Karoliine Holter <[email protected]>" | ||
] | ||
authors: [ | ||
"Simmo Saan" | ||
"Michael Schwarz" | ||
"Julian Erhard" | ||
"Sarah Tilscher" | ||
"Karoliine Holter" | ||
"Ralf Vogler" | ||
"Kalmer Apinis" | ||
"Vesal Vojdani" | ||
] | ||
license: "MIT" | ||
tags: [ | ||
"program analysis" | ||
"program verification" | ||
"static analysis" | ||
"abstract interpretation" | ||
"C" | ||
"data race analysis" | ||
"concurrency" | ||
] | ||
homepage: "https://goblint.in.tum.de" | ||
doc: "https://goblint.readthedocs.io/en/latest/" | ||
bug-reports: "https://github.com/goblint/analyzer/issues" | ||
depends: [ | ||
"dune" {>= "3.7"} | ||
"ocaml" {>= "4.14"} | ||
"goblint-cil" {>= "2.0.5"} | ||
"batteries" {>= "3.5.1"} | ||
"zarith" {>= "1.10"} | ||
"yojson" {>= "2.0.0"} | ||
"qcheck-core" {>= "0.19"} | ||
"ppx_deriving" {>= "6.0.2"} | ||
"ppx_deriving_hash" {>= "0.1.2"} | ||
"ppx_deriving_yojson" {>= "3.7.0"} | ||
"ppx_blob" {>= "0.8.0"} | ||
"ppxlib" {>= "0.30.0"} | ||
"ounit2" {with-test} | ||
"qcheck-ounit" {with-test} | ||
"odoc" {with-doc} | ||
"fpath" | ||
"dune-site" | ||
"dune-build-info" | ||
"json-data-encoding" | ||
"jsonrpc" {>= "1.12"} | ||
"sha" {>= "1.12"} | ||
"fileutils" {>= "0.6.4"} | ||
"cpu" | ||
"arg-complete" | ||
"yaml" {>= "3.0.0"} | ||
"uuidm" | ||
"catapult" | ||
"catapult-file" | ||
"conf-gmp" {>= "3"} | ||
"conf-ruby" {with-test} | ||
"benchmark" {with-test} | ||
"conf-gcc" | ||
] | ||
depopts: [ | ||
"apron" {>= "v0.9.15"} | ||
"z3" | ||
] | ||
conflicts: [ | ||
"result" {< "1.5"} | ||
"ez-conf-lib" {= "1"} | ||
] | ||
build: [ | ||
["dune" "subst"] {dev} | ||
[ | ||
"dune" | ||
"build" | ||
"-p" | ||
name | ||
"-j" | ||
jobs | ||
"--promote-install-files=false" | ||
"@install" | ||
"@runtest" {with-test} | ||
"@doc" {with-doc} | ||
] | ||
["dune" "install" "-p" name "--create-install-files" name] | ||
] | ||
dev-repo: "git+https://github.com/goblint/analyzer.git" | ||
# on `dune build` goblint.opam will be generated from goblint.opam.template and dune-project | ||
# also remember to generate/adjust goblint.opam.locked! | ||
available: os-family != "bsd" & os-distribution != "alpine" & (arch != "arm64" | os = "macos") | ||
# pin-depends: [ | ||
# published goblint-cil 2.0.5 is currently up-to-date, so no pin needed | ||
# [ "goblint-cil.2.0.5" "git+https://github.com/goblint/cil.git#c79208b21ea61d7b72eae29a18c1ddeda4795dfd" ] | ||
# pinned for stability (https://github.com/goblint/analyzer/issues/1520), remove after new camlidl release | ||
# [ "camlidl.1.12" "git+https://github.com/xavierleroy/camlidl.git#1c1e87e3f56c2c6b3226dd0af3510ef414b462d0" ] | ||
# pinned for stability (https://github.com/goblint/analyzer/issues/1520), remove after new apron release | ||
# [ "apron.v0.9.15" "git+https://github.com/antoinemine/apron.git#418a217c7a70dae3f422678f3aaba38ae374d91a" ] | ||
# ] | ||
depexts: [ | ||
["libgraph-easy-perl"] {os-distribution = "ubuntu" & with-test} | ||
] | ||
post-messages: [ | ||
"Do not benchmark Goblint on OCaml 5 (https://goblint.readthedocs.io/en/latest/user-guide/benchmarking/)." {ocaml:version >= "5.0.0"} | ||
] | ||
x-ci-accept-failures: [ | ||
"macos-homebrew" # newer MacOS headers cannot be parsed (https://github.com/ocaml/opam-repository/pull/26307#issuecomment-2258080206) | ||
"opensuse-tumbleweed" # not GNU diff, so some cram tests fail (https://discuss.ocaml.org/t/opensuse-and-opam-tests/14641/2) | ||
] | ||
url { | ||
src: | ||
"https://github.com/goblint/analyzer/releases/download/v2.5.0/goblint-2.5.0.tbz" | ||
checksum: [ | ||
"sha256=452d8491527aea21f2cbb11defcc14ba0daf9fdb6bdb9fc0af73e56eac57b916" | ||
"sha512=1993cd45c4c7fe124ca6e157f07d17ec50fab5611b270a434ed1b7fb2910aa85a8e6eaaa77dad770430710aafb2f6d676c774dd33942d921f23e2f9854486551" | ||
] | ||
} | ||
x-commit-hash: "7170d9a8944706a1adc0acaeb81a4fc6d914af7b" |