-
Notifications
You must be signed in to change notification settings - Fork 84
SV-COMP "Memory Safety" benchmark additions #1201
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
michael-schwarz
merged 83 commits into
goblint:master
from
mrstanb:svcomp-memsafety-benchmarks
Oct 14, 2023
Merged
Changes from 68 commits
Commits
Show all changes
83 commits
Select commit
Hold shift + click to select a range
0e849e4
Merge remote-tracking branch 'stanimir/mem-oob-analysis' into staging…
michael-schwarz 9e430ab
Merge remote-tracking branch 'stanimir/improve-uaf-analysis' into sta…
michael-schwarz dac7983
Fix numbering
michael-schwarz b3d9fe1
Set the global SV-COMP analysis state vars at all necessary places
mrstanb 46ae6ee
Add extra parentheses in witness.ml for memory safety result generation
mrstanb d4ef555
Add quick and dirty workaround attempt for working with
mrstanb 2fb4d74
Use logical AND and not OR for the memory-safety category in witness
mrstanb 9cbf2ab
Add util function for setting mem safety global vars
mrstanb 3258cce
Don't warn for pointers that only contain strings in their pts
mrstanb 0881fb7
Set global mem safety flags upon array oob as well
mrstanb b9faa8f
Cast pointer arithmetic offsets without using Option.get
mrstanb 8a6cf0a
Check and warn everywhere for a top points-to set in memOutOfBounds
mrstanb 29f13a2
Simplify string address check and remove extra warning
mrstanb 7bdce29
Add check for dereferencing a pointer containing an unknown address
mrstanb 3c01418
Remove unused function
mrstanb 15f782b
Add exception handling for intdom arithmetic in memOutOfBounds
mrstanb 20433e3
Ignore info messages for test case 77/05 due to MacOS CI
mrstanb 9e59043
Merge branch 'master' into staging_memsafety
mrstanb dee2a60
Set SV-COMP memory safety global flags at all necessary locations
mrstanb da45e40
Clean up UAF analysis a bit
mrstanb 1335123
Recognize mem-safety props in any order
mrstanb 1384f73
Add support for SV-COMP's valid-memcleanup property
mrstanb 4e70422
Set SV-COMP global flag for invalid-memcleanup
mrstanb 00cc9b5
Enable memory safety analyses in autoTune
mrstanb 2c8e927
Rename UAF tests from number 78 to 74
mrstanb f872854
Fix print for valid-memtrack and valid-memcleanup in `autoTune.ml`
mrstanb edaef42
Set `ana.malloc.unique_address_count` to `1` when activating memLeak …
mrstanb 7f0b43c
Improve some `AnalysisState` global flag comments
mrstanb a975702
Clean up some commented out code
mrstanb b26010a
Set `ana.malloc.unique_address_count` to `1` only if it's not already…
mrstanb 89d68af
Add a valid-memcleanup.prp file
mrstanb 171ba57
Comment out reachability filter in useAfterFree's `enter`
mrstanb 4a1c038
Fix wrong callee_state in enter
mrstanb bb2091e
Add test case for UAF in callee through a global var
mrstanb fb4ad24
Fix typo for warning about top address offsets
mrstanb 9d64db1
Add test case with invalid deref in complex loop
mrstanb 1afac02
Disable info messages which confuse `make test` in 77/10
mrstanb f5c197e
Add option for enabling the marking of variables as pulled out of scope
mrstanb 003b814
Warn for accesses to variables pulled out of scope
mrstanb ac7dd71
Automatically set `cil.addNestedScopeAttr` in autoTune when running `…
mrstanb c95a846
Bump goblint-cil
mrstanb 500a444
Merge branch 'master' into svcomp-memsafety-benchmarks
mrstanb c9a846b
set also for meta property
michael-schwarz 9efae6f
Fix address offset calculation in `memOutOfBounds`
mrstanb dcc3d5c
Adapt 77/10 test case to correctly account for address offsets
mrstanb a64e9c3
Add further test case to check address offset calculation in `memOutO…
mrstanb 44476ce
Set `ana.malloc.unique_address_count` for `MemorySafety` as well
mrstanb e052544
Move `cil.addNestedScopeAttr` setting to `init_options`
mrstanb 3341470
Try with `cil.addNestedScopeAttr` always set to `true`
mrstanb 1211a9f
Use rand() in 77/10
mrstanb 2039675
Activate `cil.addNestedScopeAttr` in cilfacade only conditionally
mrstanb fb4979b
Activate SV-COMP memory-safety-related options before CIL has complet…
mrstanb 1eb7309
Fix again scoping check
mrstanb 4a4b6ab
Fix conditional enabling of `cil.addNestedScopeAttr`
mrstanb ead8976
Merge branch 'master' into svcomp-memsafety-benchmarks
mrstanb 395c30d
Warn for invalid deallocation when encountering invalid addresses
mrstanb 055d9cc
Add invalid address test case for invalid deallocation
mrstanb 2c883eb
Warn if lval contains an address with a non-local var
mrstanb 5cb10f6
Don't warn for non-local vars in address set if they're globals
mrstanb ea4410d
Add test cases for invalid deref due to scoping
mrstanb 6745d79
Slightly refactor `check_count` and check for `src`'s size in `memcpy`
mrstanb 136bec0
Add test case with wrong src size for memcpy
mrstanb 3a2fe3f
Correct test 77/07 to warn for src OOB access in memcpy as well
mrstanb 9b728d3
Set `dest` in `memcpy` to top if `n` doesn't match its size
mrstanb 48f2cfe
Add test case for UAF due to bad memcpy
mrstanb 753b5c1
Check offsets of dereferenced lvalues as well
mrstanb d683281
Add regr. test case for OOB due to too large lval offset
mrstanb 22e4df5
Fix exceptions due to ID ops
mrstanb b9c2134
Fix size check in `memory_copying`
mrstanb 625e90b
Use `Option.map_default` instead of `match`
mrstanb fbab25e
Use `_` in place of unused offset in lambda
mrstanb 91aeee7
Set `Cabs2cil.addNestedScopeAttr` based on the Goblint config option
mrstanb 992e5c0
Remove extra semicolon
mrstanb cc351e0
Use `Option.default` in place of `Option.value`
mrstanb de0220b
Use `AD.exists` to warn about non-local vars in address set instead o…
mrstanb e98911d
Remove unnecessary pin
mrstanb 072f99d
Remove commented out code from `enter` in UAF analysis
mrstanb e339ed1
Remove unnecessary stuff from test case `74/15`
mrstanb f018ea3
Reduce duplication
michael-schwarz a2f36fb
Reorganize memsafety regr. tests
mrstanb 33e69af
Merge branch 'master' into svcomp-memsafety-benchmarks
mrstanb 7fad157
Merge branch 'master' into svcomp-memsafety-benchmarks
michael-schwarz 910a11f
Activate `cil.addNestedScopeAttr` when `memOutOfBounds` analysis is a…
michael-schwarz File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or 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
This file contains hidden or 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
This file contains hidden or 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
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.