Skip to content
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

Improved liveness detection for store exclusives #722

Merged
merged 29 commits into from
Sep 3, 2024

Conversation

ThomasHaas
Copy link
Collaborator

This PR addresses issue #719 while also refactoring some code related to that.

xeren and others added 29 commits May 27, 2024 21:53
* Updated witness generation functions to return the generated File.

* Improved UI:
- can select property to check for (only one property at a time)
- can generate and render the violation witness in the UI
- UI can be scaled with 'ctrl' + '+/-'
- Added simple zoom option to displayed witnesses

* Added ability to pass configuration options via the UI.

* UI programs now get a unified name.
Fixed witness generation for programs without names or without file suffix.
Signed-off-by: Hernan Ponce de Leon <[email protected]>
Co-authored-by: Hernan Ponce de Leon <[email protected]>
- Function-based analysis and passes now rely on local ids (e.g., for loop detection) for the most part.
- Fixed problems in NormalizeLoops.java
* Added memory layout information to ExecutionModel.

* Fixed ExecutionGraphVisualizer printing odd addresses sometimes.

* Fix address string computation. 

* Added better out-of-bounds tagging.

* Fixed RefinementSolver.analyzeInconclusiveness.
* Fix copy paste error

* Add unit tests

---------

Signed-off-by: Hernan Ponce de Leon <[email protected]>
Co-authored-by: Hernan Ponce de Leon <[email protected]>
* Added RemoveDeadNullChecks pass

* Added TypeFactory.decomposeIntoPrimitives
Improved MemToReg to also work on complex allocations.

* Avoid Mem2Reg on allocations that are used in RMWs.

* Added loop check to avoid unsoundness
Signed-off-by: Hernan Ponce de Leon <[email protected]>
Co-authored-by: Hernan Ponce de Leon <[email protected]>
Signed-off-by: Hernan Ponce de Leon <[email protected]>
Co-authored-by: Hernan Ponce de Leon <[email protected]>
Signed-off-by: Hernan Ponce de Leon <[email protected]>
Co-authored-by: Hernan Ponce de Leon <[email protected]>
Co-authored-by: Thomas Haas <[email protected]>
Signed-off-by: Hernan Ponce de Leon <[email protected]>
Co-authored-by: Hernan Ponce de Leon <[email protected]>
Signed-off-by: Hernan Ponce de Leon <[email protected]>
Co-authored-by: Hernan Ponce de Leon <[email protected]>
Co-authored-by: Thomas Haas <[email protected]>
Co-authored-by: Natalia Gavrilenko <[email protected]>
Co-authored-by: Hernan Ponce de Leon <[email protected]>
Co-authored-by: haining <[email protected]>
Co-authored-by: Thomas Haas <[email protected]>
Co-authored-by: Natalia Gavrilenko <[email protected]>
…ons for RMWStoreExclusive when checking for liveness issues
@ThomasHaas
Copy link
Collaborator Author

Does anybody know why commits from over 3 months ago are shown in this PR?

@hernanponcedeleon
Copy link
Owner

hernanponcedeleon commented Aug 30, 2024

Probably you created you branch before I forced pushed to development a few days ago (I had the same issue when I opened the smtlib PR, which was based on a local copy of depelopment that was in turns based rebased on top of master that had one extra commit, thus the forced pushed).

The diff just shows what we care about and I'll eventually squash once this is reviewed (I'll check the code once I'm back on Wednesday), so don't worry about the extra commits.

@db7
Copy link

db7 commented Sep 2, 2024

It would be nice to have this branch or arm-asm branch merged, because rebasing one on another always creates conflicts.

@hernanponcedeleon hernanponcedeleon merged commit 6326445 into development Sep 3, 2024
1 check passed
@hernanponcedeleon hernanponcedeleon deleted the improvedLivenessDetection branch September 3, 2024 19:12
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

6 participants