Skip to content

Flags interaction #219

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

Closed
paulineb30 opened this issue Sep 7, 2016 · 2 comments
Closed

Flags interaction #219

paulineb30 opened this issue Sep 7, 2016 · 2 comments

Comments

@paulineb30
Copy link

The properties checked for two check flags is not equal to the sum of the properties checked for the first flag and the properties checked for the second flag. For example, the set of properties generated by:

cbmc myfile.c --pointer-check --bounds-check --show-properties

Is larger than to the union of these two sets:

cbmc myfile.c --bounds-check --show-properties
cbmc myfile.c --pointer-check --show-properties

Which can be misleading.

@martin-cs
Copy link
Collaborator

On Wed, 2016-09-07 at 00:23 -0700, pbolignano wrote:

The properties checked for two check flags is not equal to the sum of the properties checked for the first flag and the properties checked for the second flag.

This is correct but note that the properties checked by two flags
will /include/ the properties checked by each.

For example, the set of properties generated by:

cbmc myfile.c --pointer-check --bounds-check --show-properties

Is larger than to the union of these two sets:

cbmc myfile.c --bounds-check --show-properties
cbmc myfile.c --pointer-check --show-properties

Which can be misleading.

I see your point but ...

There are some checks which require analysis from both, so our options
are:

  1. Have a third flag --bounds-and-pointer-checks which enables the extra
    checks /and/ --bounds-check and --pointer-check. This means the setting
    of flags is non-orthogonal.
  2. Have the combination of --bounds-check and --pointer-check add the
    extra checks. This means the effects of flags are non-orthogonal.

I'm open to suggestions but I can't see a solution that entirely gets
around this problem. I think the best fix might be to add something to
the manual.

Cheers,

  • Martin

@tautschnig
Copy link
Collaborator

This will be fixed via #339 and #363.

kroening pushed a commit that referenced this issue Feb 8, 2017
For member accesses, access to other components need not be valid as
shown in the included regression test Malloc23.

Also do not require --bounds-check for full dereferencing checks.

Fixes #219.
smowton added a commit to smowton/cbmc that referenced this issue May 9, 2018
…ation_to_make_compiler_silent

Reverting indentation in order to make the compiler silent.
chrisr-diffblue added a commit to chrisr-diffblue/cbmc that referenced this issue Aug 24, 2018
Remove INVARIANT in full_struct_abstract_object copy constructor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants