Frama-C-discuss mailing list archives

This page gathers the archives of the old Frama-C-discuss archives, that was hosted by Inria's gforge before its demise at the end of 2020. To search for mails newer than September 2020, please visit the page of the new mailing list on Renater.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Frama-c-discuss] Assign clauses with ghost variables


  • Subject: [Frama-c-discuss] Assign clauses with ghost variables
  • From: virgile.prevosto at m4x.org (Virgile Prevosto)
  • Date: Mon, 1 Jun 2015 10:25:58 +0200
  • In-reply-to: <alpine.LNX.2.03.1505311410490.8238@dordowsky.de>
  • References: <mailman.5768.1432882366.22323.frama-c-discuss@lists.gforge.inria.fr> <alpine.LNX.2.03.1505311410490.8238@dordowsky.de>

Hello,

2015-05-31 14:21 GMT+02:00 Frank Dordowsky <frank at dordowsky.de>:
> Responding to Virgile:
>
> your proposal is very elegant. I understand that I need to define as
> many "abstract regions" as there will be static variables of file
> scope modified by that function. Another disadvantage is that you must
> know about the internals of the function at the outside, specification
> level, violating the information hiding principle to a certain extent.
>
> Would it be possible to exempt static variables of file scope from
> evaluation of the assigns clauses? Or to have another keyword for this
> situation, something like "assigns \internals"?
>

I'd say that there should be an abstract region per group of functions
operating on the same internal state (as well as support from the tool
to describe said group). In addition, mentionning the fact that a
function has some unspecified effects on an (again unspecified)
internal state is in my opinion an important part of its external
specification.

That said, it is obvious that tool support is needed. Treating static
variables and functions that use them differently depending on whether
they are in the same file or not has indeed the advantage that no
additional input would be required. I can't make promise about an
implementation in the short term, though.

Best regards,
-- 
E tutto per oggi, a la prossima volta
Virgile