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

Audit for missing type unrollings #1600

Open
sim642 opened this issue Oct 16, 2024 · 0 comments
Open

Audit for missing type unrollings #1600

sim642 opened this issue Oct 16, 2024 · 0 comments
Assignees
Labels
cleanup Refactoring, clean-up precision

Comments

@sim642
Copy link
Member

sim642 commented Oct 16, 2024

#1519 (comment) highlights an issue in our codebase: we do a lot of pattern matching on Cil.typ to handle particular cases, but the type isn't unrolled beforehand with Cil.unrollType. This can cause some logic to fall back to imprecise behavior due to TNamed instead of TInt/etc, although the TNamed (or a nesting of them!) unrolls to one of the desired types.

I'm not sure how to best find all such places in the codebase, but pattern matching, etc should in most cases probably happen on unrolled types. That is, our analysis should be invariant under extracting/inlining typedefs in the program.

@sim642 sim642 added cleanup Refactoring, clean-up precision labels Oct 16, 2024
@sim642 sim642 self-assigned this Oct 28, 2024
sim642 added a commit that referenced this issue Oct 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cleanup Refactoring, clean-up precision
Projects
None yet
Development

No branches or pull requests

1 participant