-
Notifications
You must be signed in to change notification settings - Fork 84
Interactive analysis #391
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
Merged
Interactive analysis #391
Changes from 181 commits
Commits
Show all changes
500 commits
Select commit
Hold shift + click to select a range
a72735d
Merge branch 'master' into interactive
sim642 792457e
Merge branch 'master' into interactive
sim642 4b7df8b
Add option for restarting unknowns belonging to global variables sele…
jerhard b7d195e
Add test for manual restarting
jerhard 37aefd6
Add test for manual restarting of globals when reads and writes occur…
jerhard 1e20f20
Change global_from_name to globals_from_names working on a list, remo…
jerhard c501575
Issue warning if both automatic and manual restarting are active inst…
jerhard f9d0124
Remove unnecessary debug printout
jerhard 253a44c
Add logic for destabilize_front, handling superstable to destabilize_…
jerhard 7fcc4b2
Reformat code for user-triggered global restarting
jerhard 83dab64
Collect varinfos instead of Cil.globals for manually restarted globals
jerhard 2e6f194
Reuse Printable.String instead of creating a new module for it
jerhard dd8cf51
Annotate that earlyglobs is reason for imprecision
jerhard e7d591e
Comment that check is a hack to determine whether unknown relates to …
jerhard f5ee094
Allow manual restarting of functions
jerhard 3589663
Add test case for manual restarting of function with partial contexts
jerhard 1133721
Remove VarQuery example from TD3
sim642 50ae696
Merge branch 'interactive' into issue-544-2-td3
sim642 c8431cd
Merge pull request #549 from goblint/issue-544-2-td3
sim642 87dc088
Merge branch 'interactive' into messages-node
sim642 6350753
Merge pull request #533 from goblint/messages-node
sim642 2e688a2
Fix json in diff so to restart function foo
jerhard ebb9b60
Change call to destabilize to destabilize_normal.
jerhard 2f98aa0
Manual restarting: check whether unkown is a leaf, and warn if it is …
jerhard 293ba9e
Add pretty printing of unknown in printout.
jerhard 6afc783
Manual global restarting: Warn about globals that should be restarted…
jerhard 2a1665b
Move contents from cilUtil to varQuery
jerhard 8268dc0
Move documentation comment to .mli file
jerhard 58394c0
Merge branch 'master' into interactive
sim642 ac4cb98
Rename option incremental.restart_globs.globs to incremental.restart.…
jerhard 37d1542
Merge branch 'master' into interactive
sim642 42df507
Fix forgotten Constraints assign
sim642 6851659
Merge pull request #573 from goblint/issue_543
jerhard 4bf34df
Move VarQuery.Node documentation to .mli
sim642 7528ed4
Derive hash for Messages.Location
sim642 b6b9b44
Merge branch 'master' into interactive
sim642 a240454
Add test case for precision refinement with reluctant destabilization
jerhard 7601be8
Set incremental.verify to false for test case, so that fix-point not …
jerhard 3cff7e1
Destabilize the entry points of force-reanalyzed functions, even when…
jerhard d2ff7fe
Reluctant analysis: For functions in force-analyze, destabilize entry…
jerhard 870ddff
Fix indentation
jerhard 176be87
Add test for reluctant analysis with changing in-code precision annot…
jerhard 625818a
Add unkowns from partially changed functions to obsolete_prim when re…
jerhard 433b646
Query option incremental.reluctant.on only once in td3 and store it i…
jerhard 2b465c3
Add tests case for adding in-code precision annotation for a dynamica…
jerhard dc01a29
Add comment on why we can ommit check whether partially changed funct…
jerhard 2e05e88
Add force-reanalyze as field to change_info
jerhard a24dd86
Add additional field for functions to be force-reanalyzed in change i…
jerhard 610d548
Fix typo in test case annotation
jerhard b47e01d
Collect varinfos of force-reanalyze functions in set, instead of fund…
jerhard fbe16e9
Fix comments in compareCIL.
jerhard 6b2e0da
Merge pull request #600 from goblint/issue_508
jerhard 7389730
Merge branch 'master' into interactive
sim642 97ca8d0
Improve calculated state for undefined function warnings with IDs
sim642 7ceca64
Remove unnecessary initial parsing in server mode with reparse (close…
sim642 6b1eb94
Fix server mode with reparse not updating version_map
sim642 6eb05a6
Add resetting of UpdateCil.location_map in server mode
sim642 4348dbe
Add Cilfacade.pseudo_return_to_fun resetting to server mode
sim642 696a22d
Improve calculated state for undefined function message
sim642 63fe367
Merge branch 'master' into interactive
sim642 eeab39b
Merge branch 'master' into interactive
sim642 8ffbdc6
Add incremental race fix test which needs global restart
sim642 fa99c7b
Disable dbg.compare_runs.glob in test-incremental.sh
sim642 05ef196
Add TD3 incremental sided restart fuel for limiting transitivity
sim642 c88f534
Add incremental tests with fuel for going through wrapper function
sim642 efc092b
Add option incremental.restart.sided.fuel-only-global
sim642 4ac2da7
Remove unused Basetype.Variables functions
sim642 f9eeab8
Merge pull request #625 from goblint/issue-623
sim642 e122956
Add write-only sides rho to optimize access restarting
sim642 490c4d6
Add is_write_only function to solver unknowns
sim642 7ffb6c8
Remove postsolving write-only validation hacks
sim642 4e4bd9e
Rename Printable.W -> Analyses.SpecSysVar
sim642 75caf54
Extract default is_write_only to StdV
sim642 92fd35f
Deduplicate DomVariantSysVar
sim642 61b9654
Extract IncrWrite postsolver in TD3
sim642 56baff8
Add incremental pruning of rho_write in TD3
sim642 8f394f3
Optimize IncrWrite.one_side
sim642 e87a91b
Remove now-unused rho_write argument from postsolver
sim642 df2e205
Update Verify postsolver comment about hack
sim642 3ea3f9e
Prevent unnecessary write-only side restarting
sim642 b98ee7f
Fix SolverTest compilation
sim642 44d206a
Add incremental test with access through wrapper function
sim642 e86b9da
Move write-only sided restart incremental tests to 13-restart-write
sim642 1d011cc
Add incremental test 13-restart-write/03-mutex-simple-nochange
sim642 1aafc77
Update commented-out debug prints for write-only incremental restarting
sim642 d224f50
Enable allglobs in test-incremental.sh
sim642 faaf8d7
Fix retriggered superstable write sides not being reachable
sim642 37a330f
Add incremental test 11-restart/07-local-wpoint-nochange
sim642 4b23cc7
Fix rho_write relift in TD3
sim642 574185f
Add write-only sides to stable
sim642 f987963
Document TD3 IncrWrite postsolver
sim642 42dc20c
Merge branch 'master' into interactive
sim642 2c058b1
Fix partitioned array option in additional test
sim642 a27d978
Merge pull request #634 from goblint/incremental-write-only
sim642 0a9673f
Merge branch 'master' into interactive
sim642 c56b285
Merge branch 'master' into interactive
sim642 aacdaab
exclude functions with changed header from reluctant destabilization
stilscher 3d23659
named parameter for unchangedHeader
stilscher 140769b
remove duplicate code
stilscher c04a1ca
Merge branch 'master' into interactive
sim642 5835a5d
Merge pull request #663 from goblint/incremental/restrict-rel-destab
stilscher d3ef557
Merge branch 'master' into interactive
sim642 e42d041
Merge branch 'master' into interactive
sim642 d1e5423
Fix missed solverdiffs renames during merge
sim642 c839866
Disable interactive sided and wpoint restart by default
sim642 e0c574f
Merge branch 'master' into interactive
sim642 cb984e9
Merge branch 'master' into interactive
sim642 b516cd4
Fix TD3 incremental warning not removing hook
sim642 2841d76
Update incremental restarting test confs
sim642 dd9e4ad
Merge branch 'master' into interactive
sim642 0d899d0
Merge branch 'master' into interactive
sim642 e17d86e
Merge branch 'master' into interactive
sim642 6d89b0e
Merge branch 'master' into interactive
sim642 076660b
Return location of if stmts to only be the head!
vesalvojdani b30ef61
Revert "Return location of if stmts to only be the head!"
vesalvojdani 3ab91d0
Merge branch 'master' into interactive
sim642 ab48997
Add conf for precise zstd race detection
sim642 d1b0b32
Renumber 45-apron2 -> 46-apron2
sim642 0c6cef6
Enable deadcode and success in zstd-race conf for debugging
sim642 337e61b
Merge branch 'master' into interactive
sim642 a1a9c5a
Disable unknown function globals invalidate in zstd-race conf
sim642 28c3089
Disable ana.thread.include-node in zstd-race conf
sim642 964f974
Merge branch 'master' into interactive
sim642 616c0ed
Add test for incremental warnings not removed with reluctant destabil…
sim642 60b756b
Fix incremental unknown deletion to apply to incremental postsolving …
sim642 428cda0
Add test where warning should remain.
vesalvojdani b4fd3cb
Add test for incremental warnings not added with reluctant destabiliz…
sim642 aca39c3
Fix reluctantly not destabilized functions not being postsolved (PR #…
sim642 a33457a
Add example where incremental postsolver does not remove warnings
michael-schwarz bda1100
Steps towards cheap full reachability
michael-schwarz 080d474
Add fundamental problem where multi-threaded code becomes dead
michael-schwarz 5d8d36d
Newline for dep log
michael-schwarz b9252dc
dep: Relift VS too
michael-schwarz ee55218
Simplify
michael-schwarz c1933db
Undo unneeded modifications
michael-schwarz 5850d93
minimize diff
michael-schwarz 83ec1a1
Move incr_verify specific changes back
michael-schwarz ddda093
Cleanup
michael-schwarz f45f194
Cleanup
michael-schwarz 9940dea
Add incremental test where race in removed call remains
sim642 da4564d
Record less in `dep`, do not clear `side_infl` and `side_dep`
michael-schwarz 8b7d4d3
Print same solver stats consistently
michael-schwarz 50fed60
Typo
michael-schwarz db84ba3
Merge pull request #709 from goblint/interactive-reluctant-warn
sim642 56d230f
Merge branch 'interactive' into interactive_postsolver_pruning
michael-schwarz d622611
Comment about resetting side_infl
michael-schwarz 3f96c77
Rename incremental.verify -> incremental.postsolver.enabled
michael-schwarz 44f1efa
Add option `incremental.postsolver.superstable-reached`
michael-schwarz 9326978
Merge pull request #713 from goblint/interactive_postsolver_pruning
michael-schwarz e117878
Add rho_write size to TD3 stats
sim642 00dd10b
Add incremental test where race to old malloc node remains
sim642 ed2ad3a
Annotate incremental 13-restart-write/04-malloc-node for races
sim642 121fcc1
Add test for if condition race location
sim642 9c60ef1
Change Cilfacade.get_stmtLoc to expression locations (where possible)…
sim642 6bfc853
Add EvalAssert TODO-s about not using Cilfacade for locations
sim642 47494e8
Merge branch 'master' into interactive
sim642 71c7e1c
Disable free races and args invalidation in zstd-race conf
sim642 75798a5
Option to only destabilize access globals
michael-schwarz 79ac8c0
Merge pull request #717 from goblint/issue-689
sim642 05cb11b
mv tests
michael-schwarz 19a5229
fix patch
michael-schwarz 5cec6c2
Add comment on origin to test
michael-schwarz 3ab211e
Merge branch 'master' into interactive
sim642 5a780a6
Merge pull request #721 from goblint/access_restart
sim642 0709d82
Add symb_locks test with irrelevant index access
sim642 30c1d7a
Add var_eq EqualSet tracing
sim642 11cc869
Quick fix var_eq eq_set_clos for IndexPI
sim642 dd43200
Add chrony Name2IPAddress extracted test for symb_locks
sim642 1ba9590
Add symb_locks tracing
sim642 f5c4e89
Quick fix symb_locks toEl for IndexPI
sim642 752d16c
Fix symb_locks toEl for StartOf
sim642 180ed23
Fix VarEq.may_change with constant
sim642 653d0bb
Enable all code paths in chrony-name2ipaddress
sim642 a4be262
Add var_eq add_eq tracing
sim642 f753df5
Quick fix var_eq interesting for IndexPI
sim642 e10102e
Add __goblint_assume_join test
sim642 428a609
typo
michael-schwarz 4a8aa85
Implement __goblint_assume_join in threadJoins analysis
sim642 ed6b2e4
Fix MHP.must_be_joined for top joined set
sim642 c5cf526
Quick fix realloc read accesses to be shallow
sim642 2b60af7
Add option sem.unknown_function.read.args
sim642 d69de4e
Limit restarting
michael-schwarz ea05ea8
Fix 02-base/78-realloc-free write-free race
sim642 69933ef
Merge branch 'master' into interactive
sim642 59f7343
Merge branch 'interactive' into chrony
sim642 d099985
Allow for actual imprecision
michael-schwarz d56e9c8
Merge branch 'access_restart' into interactive
michael-schwarz 7e5ab0a
Correct strcat; add strncat.
vesalvojdani d660f1a
Add a few more libraryfuns.
vesalvojdani 2f66be2
Add minimal-ish example of what causes deadcode in smtprc.
vesalvojdani 69fd28b
Self-documenting code for arinc deobfuscation.
vesalvojdani 99ed43e
Set memcpy and strcpy to top; these can overwrite partially.
vesalvojdani 089cc2a
Extract addr_type_of_exp.
vesalvojdani a7faf9d
Merge branch 'interactive' into restart-sided-fuel
sim642 b58b89c
Merge branch 'master' into interactive
sim642 577f6f3
Add test that's unsound because of __goblint_assume_join(...)
michael-schwarz 76f9b29
Add threadJoins test where recreated threads should be removed from m…
sim642 84a98bf
Make threadspawn remove must-joined threads
sim642 b09b1fd
Add SKIP to 36-apron2/03-other-assume like other Apron tests
sim642 f2b8673
Fix __goblint_assume_join with Apron mutex-meet-tid privatization
sim642 d5a0c27
Add __goblint_assume_join to annotating docs
sim642 a4db1a0
Add assume join test with unknown thread ID
sim642 e6e33b2
Change assume join behavior with unknown thread ID
sim642 9d71c07
Revert "Merge pull request #364 from goblint/td3-solve-tf-abort"
sim642 9306991
Use deriving show for TD3 phase
sim642 6016835
Add example where `__goblint_assume_join` causes unneccessary precisi…
michael-schwarz 22d6da8
Add problematic index access
michael-schwarz a482bd1
Fix Apron mutex-meet-tid imprecision by force joining must-joined thr…
sim642 67211c2
Fix annotations in 06-symbeq/39-funloop_index_bad
sim642 92c7ea4
Replace symb_locks and var_eq IndexPI handling with very ad-hoc one
sim642 94fd11f
Handle IndexPI in Exp.interesting to fix string_fortified.h race in 0…
sim642 3ec784c
Extract CurrentVarEqConstrSys from TD3
sim642 8c9777c
Document incremental TD3 data structures
sim642 b073cce
Add descriptions for new incremental TD3 options
sim642 21e75ec
Rename option incremental.reluctant.on -> incremental.reluctant.enabl…
sim642 93ece0f
Merge branch 'interactive' into restart-sided-fuel
sim642 dee744e
Renumber incremental fuel tests
sim642 99f8b20
Fix incremental fuel tests by adding option incremental.restart.write…
sim642 49cd2ce
Revert fuel change to incremental 13-restart-write/01-mutex-simple
sim642 77b3fca
Add descriptions to fuel options
sim642 c491dbb
Re-allow All threads must joined for chrony story, but warn about it
sim642 ab3ddff
Merge pull request #724 from goblint/chrony
sim642 e35d86e
Merge pull request #729 from goblint/smtprc
sim642 41d3cd4
Fix var_eq eq_set_clos indentation (PR #724)
sim642 da790e0
Fix more var_eq eq_set_clos indentation (PR #724)
sim642 3d9bf4b
Add server command pre_files (closes #739)
sim642 f60b16c
Optimize server pre_files by not merging files
sim642 49d319e
Merge pull request #629 from goblint/restart-sided-fuel
sim642 bf4dd81
Merge branch 'master' into interactive
sim642 8f5a8e0
Merge branch 'master' into interactive
sim642 10e0c21
Merge branch 'master' into interactive
sim642 edd5c1d
Fix 34-localwn_restart/04-hh PARAMs
sim642 d409f68
Merge branch 'master' into interactive
sim642 7b8e346
Add info about assume-joining ambiguous thread ID
sim642 f4c3228
Merge branch 'master' into interactive
sim642 9d1e8ad
Fix indentation after merge
sim642 9dd1ded
Remove solvers.td3.narrow-reuse-verify
sim642 9f329fc
Fix YamlWitness mismerge in d409f68c9fc2f939a2283c6eebb734119cd9cca3
sim642 9dfec7b
Merge branch 'master' into interactive
sim642 7aa89e9
Remove broken incremental.restart.sided.destab-with-sides option
sim642 4ec572b
Add option incremental.restart.sided.vars
sim642 8fc9b36
Merge branch 'interactive' into issue-739
sim642 712e5dd
Merge pull request #740 from goblint/issue-739
sim642 664c26f
Merge branch 'master' into interactive
sim642 aa563a6
Add test annotations to 06-symbeq/38-chrony-name2ipaddress
sim642 af06a08
Add test annotations to 51-threadjoins
sim642 c732728
Merge branch 'master' into interactive
sim642 769e28d
Renumber incremental branch tests to avoid renumbering master branch …
sim642 26aa6b7
Restore most recent g2html
sim642 4b5e3d9
Merge branch 'master' into interactive
sim642 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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,19 @@ | ||
| #!/usr/bin/env bash | ||
|
|
||
| set -e | ||
|
|
||
| gcc -c -Werror=implicit-function-declaration ./abort-verify.c | ||
|
|
||
| GOBLINTDIR="/mnt/goblint-svcomp/sv-comp/goblint" | ||
| OPTS="--conf $GOBLINTDIR/conf/svcomp.json --enable solvers.td3.abort --enable solvers.td3.abort-verify --sets ana.specification /mnt/goblint-svcomp/benchexec/sv-benchmarks/c/properties/unreach-call.prp --sets exp.architecture 64bit ./abort-verify.c" | ||
| INTERESTING="TD3 abort verify: should not abort" | ||
| OUTDIR="creduce-abort-verify" | ||
|
|
||
|
|
||
| mkdir -p $OUTDIR | ||
|
|
||
| LOG="$OUTDIR/out.log" | ||
| $GOBLINTDIR/goblint $OPTS -v --enable dbg.debug &> $LOG || true | ||
| grep -F "Function definition missing" $LOG && exit 1 | ||
|
|
||
| grep -F "$INTERESTING" $LOG |
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,9 @@ | ||
| #!/bin/bash | ||
| #Run from root, e.g.,: ./scripts/fix_patch_headers.sh tests/incremental/11-restart/*.patch | ||
| for file in "$@" | ||
| do | ||
| echo $file | ||
| cfile="${file%.patch}.c" | ||
| efile="${cfile//\//\\/}" | ||
| perl -0777 -i -pe "s/.*?@/--- $efile\n+++ $efile\n@/is" $file | ||
| done | ||
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
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
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is this script needed for?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is something from @vesalvojdani.