Skip to content

Commit

Permalink
Merge branch 'master' into concrat-both-branches
Browse files Browse the repository at this point in the history
  • Loading branch information
sim642 committed Jan 22, 2024
2 parents 11e8948 + c0c8960 commit 3c99385
Show file tree
Hide file tree
Showing 448 changed files with 9,125 additions and 6,082 deletions.
5 changes: 4 additions & 1 deletion .github/workflows/coverage.yml
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,9 @@ jobs:
- name: Test apron regression (Mukherjee et. al SAS '17 paper') # skipped by default but CI has apron, so explicitly test group (which ignores skipping -- it's now a feature!)
run: ruby scripts/update_suite.rb group apron-mukherjee -s

- name: Test apron termination regression # skipped by default but CI has apron, so explicitly test group (which ignores skipping -- it's now a feature!)
run: ruby scripts/update_suite.rb group termination -s

- name: Test regression cram
run: opam exec -- dune runtest tests/regression

Expand All @@ -85,7 +88,7 @@ jobs:
COVERALLS_REPO_TOKEN: ${{ secrets.COVERALLS_REPO_TOKEN }}
PULL_REQUEST_NUMBER: ${{ github.event.number }}

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: always()
with:
name: suite_result
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/docs.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ jobs:

- name: Setup Pages
id: pages
uses: actions/configure-pages@v3
uses: actions/configure-pages@v4

- name: Install dependencies
run: opam install . --deps-only --locked --with-doc
Expand All @@ -68,4 +68,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
uses: actions/deploy-pages@v2
uses: actions/deploy-pages@v3
7 changes: 5 additions & 2 deletions .github/workflows/locked.yml
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,9 @@ jobs:
- name: Test apron regression (Mukherjee et. al SAS '17 paper') # skipped by default but CI has apron, so explicitly test group (which ignores skipping -- it's now a feature!)
run: ruby scripts/update_suite.rb group apron-mukherjee -s

- name: Test apron termination regression # skipped by default but CI has apron, so explicitly test group (which ignores skipping -- it's now a feature!)
run: ruby scripts/update_suite.rb group termination -s

- name: Test regression cram
run: opam exec -- dune runtest tests/regression

Expand All @@ -79,10 +82,10 @@ jobs:
- name: Test incremental regression with cfg comparison
run: ruby scripts/update_suite.rb -c

- uses: actions/upload-artifact@v3
- uses: actions/upload-artifact@v4
if: always()
with:
name: suite_result
name: suite_result-${{ matrix.os }}
path: tests/suite_result/

extraction:
Expand Down
3 changes: 3 additions & 0 deletions .github/workflows/metadata.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,6 +27,9 @@ jobs:
args: --validate

zenodo-validate:
# Zenodo schema URL is dead
if: ${{ false }}

strategy:
matrix:
node-version:
Expand Down
6 changes: 3 additions & 3 deletions .github/workflows/options.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,10 +26,10 @@ jobs:
run: npm install -g ajv-cli

- name: Migrate schema # https://github.com/ajv-validator/ajv-cli/issues/199
run: ajv migrate -s src/common/util/options.schema.json
run: ajv migrate -s src/config/options.schema.json

- name: Validate conf
run: ajv validate -s src/common/util/options.schema.json -d "conf/**/*.json"
run: ajv validate -s src/config/options.schema.json -d "conf/**/*.json"

- name: Validate incremental tests
run: ajv validate -s src/common/util/options.schema.json -d "tests/incremental/*/*.json"
run: ajv validate -s src/config/options.schema.json -d "tests/incremental/*/*.json"
2 changes: 1 addition & 1 deletion .github/workflows/semgrep.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ jobs:
run: semgrep scan --config .semgrep/ --sarif > semgrep.sarif

- name: Upload SARIF file to GitHub Advanced Security Dashboard
uses: github/codeql-action/upload-sarif@v2
uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: semgrep.sarif
if: always()
7 changes: 6 additions & 1 deletion .github/workflows/unlocked.yml
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,10 @@ jobs:
if: ${{ matrix.apron }}
run: ruby scripts/update_suite.rb group apron-mukherjee -s

- name: Test apron termination regression # skipped by default but CI has apron, so explicitly test group (which ignores skipping -- it's now a feature!)
if: ${{ matrix.apron }}
run: ruby scripts/update_suite.rb group termination -s

- name: Test regression cram
run: opam exec -- dune runtest tests/regression

Expand Down Expand Up @@ -156,7 +160,8 @@ jobs:

- name: Downgrade dependencies
# must specify ocaml-base-compiler again to prevent it from being downgraded
run: opam install $(opam exec -- opam-0install --prefer-oldest goblint ocaml-variants.4.14.0+options ocaml-option-flambda)
# prevent num downgrade to avoid dune/jbuilder error: https://github.com/ocaml/dune/issues/5280
run: opam install $(opam exec -- opam-0install --prefer-oldest goblint ocaml-variants.4.14.0+options ocaml-option-flambda num.1.4)

- name: Build
run: ./make.sh nat
Expand Down
1 change: 0 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,6 @@ linux-headers
.goblint*/
goblint_temp_*/

src/spec/graph
.vagrant

g2html.jar
Expand Down
4 changes: 4 additions & 0 deletions .mailmap
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ Kerem Çakırer <[email protected]> <[email protected]>
Sarah Tilscher <[email protected]>
Karoliine Holter <[email protected]>
<[email protected]> <[email protected]>
<[email protected]> <[email protected]>

Elias Brandstetter <[email protected]> <[email protected]>
wherekonshade <[email protected]> <[email protected]>
Expand All @@ -37,3 +38,6 @@ Mireia Cano Pujol <[email protected]>
Felix Krayer <[email protected]>
Felix Krayer <[email protected]> <[email protected]>
Manuel Pietsch <[email protected]>
Tim Ortel <[email protected]>
Tomáš Dacík <[email protected]>
<[email protected]> <[email protected]>
2 changes: 1 addition & 1 deletion .readthedocs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,4 +20,4 @@ build:
- pip install json-schema-for-humans
post_build:
- mkdir _readthedocs/html/jsfh/
- generate-schema-doc --config-file jsfh.yml src/common/util/options.schema.json _readthedocs/html/jsfh/
- generate-schema-doc --config-file jsfh.yml src/config/options.schema.json _readthedocs/html/jsfh/
15 changes: 10 additions & 5 deletions .zenodo.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,15 +10,18 @@
},
{
"name": "Schwarz, Michael",
"affiliation": "Technische Universität München"
"affiliation": "Technische Universität München",
"orcid": "0000-0002-9828-0308"
},
{
"name": "Erhard, Julian",
"affiliation": "Technische Universität München"
"affiliation": "Technische Universität München",
"orcid": "0000-0002-1729-3925"
},
{
"name": "Tilscher, Sarah",
"affiliation": "Technische Universität München"
"affiliation": "Technische Universität München",
"orcid": "0009-0009-9644-7475"
},
{
"name": "Vogler, Ralf",
Expand All @@ -30,14 +33,16 @@
},
{
"name": "Vojdani, Vesal",
"affiliation": "University of Tartu"
"affiliation": "University of Tartu",
"orcid": "0000-0003-4336-7980"
}
],
"contributors": [
{
"name": "Seidl, Helmut",
"type": "ProjectLeader",
"affiliation": "Technische Universität München"
"affiliation": "Technische Universität München",
"orcid": "0000-0002-2135-1593"
},
{
"name": "Schwarz, Martin D.",
Expand Down
12 changes: 12 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,15 @@
## v2.3.0
Functionally equivalent to Goblint in SV-COMP 2024.

* Add termination analysis for loops (#1093).
* Add memory out-of-bounds analysis (#1094, #1197).
* Add memory leak analysis (#1127, #1241, #1246).
* Add SV-COMP `termination`, `valid-memsafety` and `valid-memcleanup` properties support (#1220, #1228, #1201, #1199, #1259, #1262).
* Add YAML witness version 2.0 support (#1238, #1240, #1217, #1226, #1225, #1248).
* Add final warnings about unsound results (#1190, #1191).
* Add many library function specifications (#1167, #1174, #1203, #1205, #1212, #1220, #1239, #1242, #1244, #1254, #1269).
* Adapt automatic configuration tuning (#912, #921, #987, #1168, #1214, #1234).

## v2.2.1
* Bump batteries lower bound to 3.5.0.
* Fix flaky dead code elimination transformation test.
Expand Down
4 changes: 4 additions & 0 deletions CITATION.cff
Original file line number Diff line number Diff line change
Expand Up @@ -12,12 +12,15 @@ authors: # same authors as in .zenodo.json and dune-project
- given-names: Michael
family-names: Schwarz
affiliation: "Technische Universität München"
orcid: "https://orcid.org/0000-0002-9828-0308"
- given-names: Julian
family-names: Erhard
affiliation: "Technische Universität München"
orcid: "https://orcid.org/0000-0002-1729-3925"
- given-names: Sarah
family-names: Tilscher
affiliation: "Technische Universität München"
orcid: "https://orcid.org/0009-0009-9644-7475"
- given-names: Ralf
family-names: Vogler
affiliation: "Technische Universität München"
Expand All @@ -27,6 +30,7 @@ authors: # same authors as in .zenodo.json and dune-project
- given-names: Vesal
family-names: Vojdani
affiliation: "University of Tartu"
orcid: "https://orcid.org/0000-0003-4336-7980"

license: MIT
repository-code: "https://github.com/goblint/analyzer"
Expand Down
4 changes: 3 additions & 1 deletion conf/examples/very-precise.json
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,9 @@
"structs" : {
"domain" : "combined-sk"
},
"limit-string-addresses": false
"strings": {
"domain": "disjoint"
}
}
},
"exp": {
Expand Down
17 changes: 16 additions & 1 deletion conf/ldv-races.json
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,9 @@
"escape",
"expRelation",
"mhp",
"assert"
"assert",
"var_eq",
"symb_locks"
],
"malloc": {
"wrappers": [
Expand All @@ -52,6 +54,19 @@
]
}
},
"lib": {
"activated": [
"c",
"posix",
"pthread",
"gcc",
"glibc",
"linux-userspace",
"goblint",
"ncurses",
"klever"
]
},
"witness": {
"graphml": {
"enabled": true,
Expand Down
6 changes: 6 additions & 0 deletions conf/min-unsound.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"ana": {
"activated": [
]
}
}
47 changes: 45 additions & 2 deletions conf/svcomp.json
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,15 @@
"thread",
"threadJoins"
],
"path_sens": [
"mutex",
"malloc_null",
"uninit",
"expsplit",
"activeSetjmp",
"memLeak",
"threadflag"
],
"context": {
"widen": false
},
Expand All @@ -52,14 +61,19 @@

"ldv_xmalloc",
"ldv_xzalloc",
"ldv_calloc"
"ldv_calloc",
"ldv_kzalloc"
]
},
"base": {
"arrays": {
"domain": "partitioned"
}
},
"race": {
"free": false,
"call": false
},
"autotune": {
"enabled": true,
"activated": [
Expand All @@ -71,7 +85,9 @@
"octagon",
"wideningThresholds",
"loopUnrollHeuristic",
"memsafetySpecification"
"memsafetySpecification",
"termination",
"tmpSpecialAnalysis"
]
}
},
Expand All @@ -95,6 +111,33 @@
"enabled": true,
"id": "enumerate",
"unknown": false
},
"yaml": {
"enabled": true,
"format-version": "2.0",
"entry-types": [
"invariant_set"
],
"invariant-types": [
"loop_invariant"
]
},
"invariant": {
"loop-head": true,
"after-lock": false,
"other": false,
"accessed": false,
"exact": true,
"exclude-vars": [
"tmp\\(___[0-9]+\\)?",
"cond",
"RETURN",
"__\\(cil_\\)?tmp_?[0-9]*\\(_[0-9]+\\)?",
".*____CPAchecker_TMP_[0-9]+",
"__VERIFIER_assert__cond",
"__ksymtab_.*",
"\\(ldv_state_variable\\|ldv_timer_state\\|ldv_timer_list\\|ldv_irq_\\(line_\\|data_\\)?[0-9]+\\|ldv_retval\\)_[0-9]+"
]
}
},
"pre": {
Expand Down
Loading

0 comments on commit 3c99385

Please sign in to comment.