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

Memory optimization #275

Merged
merged 38 commits into from
Mar 27, 2023
Merged

Memory optimization #275

merged 38 commits into from
Mar 27, 2023

Conversation

lucaneg
Copy link
Member

@lucaneg lucaneg commented Mar 10, 2023

Description
This addresses #248:

  • provide a basic block-based fixpoint algorithm to improve efficiency
    • use watchpoint predicates to store approximation of statements when using basic blocks, and unwind the results when asked for approximation of non-watchpoint statements
    • dumping will not unwind the results
  • apply widening only on widening points
  • remove satisfies invocation on edges, and rely only on assume
  • add eval(exp) to environments instead of tracking what is left on the stack
  • avoid duplicates in working sets used in fixpoints to improve efficiency

Closes #248

@lucaneg lucaneg added 🎆 type:feature New feature or request 🏗 resolution:wip Incomplete work - do not review yet 🛠 type:refactoring Refactoring of the codebase ⁉ priority:p2 Priority planning - level 2 🔍 scope:analysis Work regarding abstract domains or fixpoint algorithms 🏨 scope:infrastructure Work regarding the general infrastructure and functioning of LiSA labels Mar 10, 2023
@lucaneg lucaneg added this to the 0.1b8 milestone Mar 10, 2023
@lucaneg lucaneg requested a review from VincenzoArceri March 10, 2023 16:14
@lucaneg lucaneg self-assigned this Mar 10, 2023
@lucaneg lucaneg removed the 🏗 resolution:wip Incomplete work - do not review yet label Mar 20, 2023
@VincenzoArceri VincenzoArceri merged commit 8034988 into master Mar 27, 2023
@VincenzoArceri VincenzoArceri deleted the memory-optimization branch March 27, 2023 07:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
⁉ priority:p2 Priority planning - level 2 🔍 scope:analysis Work regarding abstract domains or fixpoint algorithms 🏨 scope:infrastructure Work regarding the general infrastructure and functioning of LiSA 🎆 type:feature New feature or request 🛠 type:refactoring Refactoring of the codebase
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

[FEATURE REQUEST] Basic block implementation + optimizations
2 participants