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

Insufficient model verification regarding comparisons of opaque fields #282

Closed
treiher opened this issue Jun 11, 2020 · 0 comments
Closed
Assignees
Labels
bug model Related to model package (e.g., model verification)

Comments

@treiher
Copy link
Collaborator

treiher commented Jun 11, 2020

It is possible to use comparisons of fields with opaque type which are not supported by the generated SPARK code. Here is an example:

package Test is

   type Message is
      message
         null
            then Foo
               with Length => 2;
         Foo : Opaque
            then null
               if Foo = 1;
      end message;

end Test;

Fields with opaque type should only be compared with aggregates, if their field size is a multiple of 8. A comparison with numeric literals shouldn't be possible at all.

@treiher treiher added the bug label Jun 11, 2020
@treiher treiher added this to To do in RecordFlux 0.4.1 Jun 11, 2020
@treiher treiher added the model Related to model package (e.g., model verification) label Jun 11, 2020
@senier senier moved this from To do to In progress in RecordFlux 0.4.1 Jun 15, 2020
senier pushed a commit that referenced this issue Jun 16, 2020
senier pushed a commit that referenced this issue Jun 26, 2020
senier pushed a commit that referenced this issue Jun 27, 2020
senier pushed a commit that referenced this issue Jun 27, 2020
senier pushed a commit that referenced this issue Jun 27, 2020
senier pushed a commit that referenced this issue Jun 27, 2020
senier pushed a commit that referenced this issue Jun 27, 2020
senier pushed a commit that referenced this issue Jun 27, 2020
senier pushed a commit that referenced this issue Jun 29, 2020
senier pushed a commit that referenced this issue Jun 29, 2020
senier pushed a commit that referenced this issue Jun 29, 2020
senier pushed a commit that referenced this issue Jun 29, 2020
senier pushed a commit that referenced this issue Jun 29, 2020
senier pushed a commit that referenced this issue Jun 29, 2020
senier pushed a commit that referenced this issue Jun 29, 2020
senier pushed a commit that referenced this issue Jun 29, 2020
@senier senier moved this from In progress to Done in RecordFlux 0.4.1 Jun 29, 2020
@senier senier closed this as completed Jun 29, 2020
@treiher treiher mentioned this issue Jul 14, 2020
4 tasks
treiher pushed a commit that referenced this issue Jul 23, 2020
treiher pushed a commit that referenced this issue Jul 23, 2020
treiher pushed a commit that referenced this issue Jul 23, 2020
treiher pushed a commit that referenced this issue Jul 23, 2020
treiher pushed a commit that referenced this issue Jul 23, 2020
treiher pushed a commit that referenced this issue Jul 23, 2020
treiher pushed a commit that referenced this issue Jul 23, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug model Related to model package (e.g., model verification)
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

2 participants