-
Notifications
You must be signed in to change notification settings - Fork 84
Relational Mutex-Meet-Privatization making use of Thread IDs #379
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
Changes from 1 commit
Commits
Show all changes
136 commits
Select commit
Hold shift + click to select a range
1d6175f
first steps towards using tids in privatization
michael-schwarz 7f899ad
Factor out common logic
michael-schwarz 4ad0a0c
Progress
michael-schwarz c8667e3
Progress
michael-schwarz ce264dc
Progress
michael-schwarz b21e4d7
Progress
michael-schwarz 1dc1f69
Progress
michael-schwarz ae4eb7b
Toy examples
michael-schwarz af42f41
fix spurious warning
michael-schwarz 0305ee4
Add TODO example
michael-schwarz 24833fd
add query to get set of unique created sucessors
michael-schwarz ab09a70
typo
michael-schwarz 90c0a52
Add examples
michael-schwarz 4a4f529
Remove Write-Centered Apron Privatization
michael-schwarz 01d12c2
Ad dummy lmust tracking
michael-schwarz 9a6ec3c
Limit propagation of mutex init values
michael-schwarz 79b95eb
Remove unused alias
michael-schwarz cd7a8d2
Add thread must join analysis
michael-schwarz bf07f49
Add two examples
michael-schwarz 1e37480
framework progress
michael-schwarz 69488f6
Add either lattice
michael-schwarz a81b88e
Preperation for globals of different types
michael-schwarz ada0e33
Exploit mustJoin
michael-schwarz 99ed7b3
typo
michael-schwarz eca5168
More examples
michael-schwarz ac19b7e
Undo changes to apronDomain.apron.ml
michael-schwarz e67b3b6
Nicer whitespace
michael-schwarz 1c7dc40
Nicer whitespace
michael-schwarz c0a827d
Cleanup
michael-schwarz 793ba4c
Add comment
michael-schwarz b5a13b6
Add problem
michael-schwarz 9540f6f
Fix solver bug?
michael-schwarz 119f01d
Add comment about fix
michael-schwarz ee0efe8
Experimental side-pp global widening strategy
michael-schwarz b5308a5
Remove apron & thread joins from default
michael-schwarz a551f59
Add problematic tests
michael-schwarz aba62b0
Add comments to confusing test
michael-schwarz e24da3f
restructure branched thread creation to work with path-sensitive flag…
michael-schwarz 36551d3
Make life simpler at the price of having the threadflag analysis path…
michael-schwarz 76c4135
Rm old todo
michael-schwarz 24d3d4f
Merge branch 'master' into use_tids
michael-schwarz 7d66e5c
Use IdentitySpec to avoid giving all transfer functions
michael-schwarz 176aeca
Use Lift2 instead of custom solution
michael-schwarz df114db
Merge branch 'master' into use_tids
michael-schwarz 0603798
Bye bye strengthening
michael-schwarz d122a86
Add problematic example due to widening :'(
michael-schwarz 73af6fb
Add second Miné example
michael-schwarz cc490e4
Merge branch 'master' into use_tids
michael-schwarz e35b18c
typo
michael-schwarz cfa2ddd
Try to extract clustering interface from apron mutex-meet-tid
sim642 26a612a
Add 1-2 clusters to apron mutex-meet-tid
sim642 7134adc
Hacky TID stats
michael-schwarz 1bc3249
Add traces-rel config
michael-schwarz f41f427
Fix Cluster12 cluster map domain ordering and keep_global
sim642 0b7cab1
Fix Cluster12 keep_only_protected_globals
sim642 ec1d1b3
Add W filtering to Cluster12 to prevent unnecessary publishing
sim642 f19a28d
Remove unnecessary GMutex functor from apron mutex-meet clustering
sim642 c8c73da
Clean up apron mutex-meet clustering
sim642 4df17f9
Refactor apron mutex-meet Cluster12
sim642 e1b6b74
Add relational traces example where 1-clusters are needed
sim642 c409c03
Add comments to apron mutex-meet clusterings
sim642 4399342
Add comment about top W in apron mutex-meet
sim642 4369532
Add TODO to disabled apron strengthening
sim642 520d77e
Move thread return check from ApronPriv to ApronAnalysis
sim642 55ba4a9
Use Locksets.Lock instead of varinfo for apron mutex-meet-tid L
sim642 45f53d9
Use Locksets.Lock instead of varinfo for apron mutex-meet-tid LMust
sim642 b974752
Remove duplicate CommonPerMutex functions
sim642 bc70956
Optimize apron mutex-meet-tid get_relevant_writes
sim642 9f7279a
Remove duplicate join in apron mutex-meet-tid lock
sim642 0a2663f
Use ThreadId.get_current in apron priv
sim642 93ad28f
Use is_top for thread set instead of exception
sim642 7a97337
Change apron mine14 tests to TODOs
sim642 ff27002
Merge branch 'use_tids' into traces-relational-cluster
sim642 4fd4101
Remove hardcoded exp.apron.privatization mutex-meet-tid from tests
sim642 3f873c1
Merge branch 'use_tids' into traces-relational-cluster
sim642 f05f868
Ignore L in apron mutex-meet-tid write_global
sim642 c17b9b4
Make apron mutex-meet-tid cluster sizes configurable
sim642 67abb3d
Fix apron mutex-meet-tid with maximum clusters
sim642 7a6f7d4
Fix issue with lock(m_g) not taking L m_g into account
michael-schwarz 772c881
Extract constant visitor
michael-schwarz 2457d60
Add threshhold widening
michael-schwarz 73739e0
typos
michael-schwarz 7c294eb
Rm comment duplication
michael-schwarz 98b2cea
Cleanup TID printing
michael-schwarz 23ea5c8
Rm forgotten output
michael-schwarz 5d2fe6f
Merge branch 'use_tids' into traces-relational-cluster
sim642 df90c19
Fix apron mutex-meet-tid-cluster2 not having singleton clusters for u…
sim642 e8b0642
Move Widening thresholds into separate module
michael-schwarz deb608b
Properly use lazy
michael-schwarz fe0c413
Add comment that Clustering2 might no really work
michael-schwarz f5c72ee
Merge pull request #417 from goblint/traces-relational-cluster
michael-schwarz 049760d
Fix docstring
michael-schwarz f3d3433
Merge pull request #421 from goblint/apron_threshhold
michael-schwarz bcdc344
Rename to remove duplicate test IDs
michael-schwarz a6dc92c
Fix apron mutex-meet-tid-cluster decreasing protecting locksets
sim642 1965bf4
Extract separat DownwardClosedCluster in apron priv
sim642 103ff2b
Fix TODOs in ApronPriv.DownwardClosedCluster
sim642 e7de85b
Merge pull request #424 from goblint/traces-relational-cluster-lockset
sim642 5372cfc
Fix indentation in ApronPriv.ArbitraryCluster
sim642 734041e
Add reorder_2 and sigma, adjusted for C
a2742f0
Add more Mukherjee tests
a4f4c74
Add more examples from Mukherjee
8faef76
Move benchmarks
michael-schwarz 2c75336
Hack 3 character test numbers
michael-schwarz 2c0070e
throw everything at mukherjee's benchmarks
michael-schwarz c7ea774
Move Mukherjee benchmarks into separate group
michael-schwarz 9d00dd3
Add Mukherjee tests to workflows
michael-schwarz f5f2859
52/02 Remove assert that does not hold in the concrete
michael-schwarz c3cbcb2
52/14 dix calls to lock instead of unlock
michael-schwarz 1e927e1
52/07 fix type
michael-schwarz 7a45d98
Add TODOs where Mukherjee also does not succeed
michael-schwarz f36b715
52/17 UB
b16a8ae
53/03 add initialization for len
46b06c6
52/05 add initialization
5430c24
52/03 assume no-ov
michael-schwarz 691be38
52/05 assume no ov
michael-schwarz 128b1d8
Merge branch 'master' into use_tids
michael-schwarz 4ff8070
Rm commented out code
michael-schwarz a3fb900
Merge remote-tracking branch 'origin/remove_unnecessary_AD' into use_…
michael-schwarz a8b361e
More descriptive names
michael-schwarz 256e047
Remove unused global variables from mukherjee Stack tests
sim642 2edeb1b
Optimize apron DownwarnClosedCluster.lock by not calling is_bot
sim642 f2280a0
silence precComapre by default
michael-schwarz d3614dd
Merge branch 'master' into use_tids
michael-schwarz 0e26dff
Fix dune file for PrecCompare tools
michael-schwarz 10e70f9
Make name of no lcutsers more descriptive
michael-schwarz 23dcf7c
Add logging for protection
michael-schwarz 3de07c3
More detailed mutex stats
michael-schwarz eb252c3
Merge branch 'master' into use_tids
michael-schwarz ac76264
Remove outdated comment
michael-schwarz e0a509f
tests 52/*: Unify include of assert.ht
michael-schwarz e7223aa
Switch default apron privatization to mutex-meet
michael-schwarz e5d63c8
Make normal sides default, sides-pp only as an option
michael-schwarz 84c4b48
fix typo
michael-schwarz 57769c9
Remove conditional from apron regressions
michael-schwarz 54f6ebe
rm TODO
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
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -42,6 +42,11 @@ | |
| "ldv_xzalloc", | ||
| "ldv_calloc" | ||
| ] | ||
| }, | ||
| "solver" : { | ||
| "td3": { | ||
| "side_widen" : "sides-pp" | ||
| } | ||
| } | ||
| }, | ||
| "dbg" : { | ||
|
|
||
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
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.