Skip to content

Conversation

qinheping
Copy link
Owner

This PR add an example, explanation, and limitation of the loop assigns inference used in DFCC contracts.

@rod-chapman
Copy link

Suggestion for future: doc changes like this should always be reviewed by at least one user, in addition to the CBMC development team themselves. There is a danger that the development team "know too much" about all this stuff, and don't appreciate how clueless newbie users (i.e. like me!) really are! I will take a look at this one.

2. collecting assigns targets with local-may-alias analysis,
3. assigns targets widening.

We do the function inlining first so that we can infer those assigns targets

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What if the body of a called unit is not available, but that unit does have contracts, and --replace-all-with-contract has been specified? If you can't inline what happens? Can you get the info you need from the contract of the called unit alone?

@rod-chapman
Copy link

Please see review comments above. I will try this on a few functions from mlkem-native and see what we get.

@qinheping
Copy link
Owner Author

Reopened in as diffblue#8516.

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.

2 participants