viperproject / sample

Other
0 stars 0 forks source link

[Silver Permission Inference] Weird results for some existing specifications. #83

Open viper-admin opened 8 years ago

viper-admin commented 8 years ago

Created by @dohrau on 2016-11-01 09:35

Consider the following example.

#!scala
field f: Ref

method foo(a: Ref, read: Perm)
    requires read > none
    requires acc(a.f.f, read)
{}

method bar(a: Ref)
    requires acc(a.f.f) && acc(a.f)
{}

Currently the permission inference produces the output below.

#!scala

field f: Ref

method foo(a: Ref, read: Perm)
  requires read > none
  requires acc(a.f, read)
  requires acc(a.f.f, read)
  requires read > none
{
}

method bar(a: Ref, read: Perm)
  requires read > none
  requires acc(a.f, read)
  requires acc(a.f, write)
  requires acc(a.f.f, write)
{
}

There are the following two issues:

viper-admin commented 8 years ago

@dohrau on 2016-11-01 09:35:

  • edited the description