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] arbitrary buffers in analysis



Hi,

Many things can already be written directly using ACSL assertions. See my
last answer for an example. Unfortunately, you often need to be an expert
to know whether an assertion will have the effect you expect. Indeed, this
depends on many things such as:

- how many locations are involved w.r.t. the amoun of plevel available
- unless locations are contiguous (but only for initialization!)
- the absence of universal or existential quantification in the property
- whether or not all locations involved are provably valid
- which version of Frama-C you are using, as new patterns are added on each
new release
- etc

This is why we are not advertising that possibility this much. In any case,
you are correct in thinking that this would be more efficient than the
manual initialization that is often used.

HTH,


On Thu, Aug 20, 2015 at 2:13 AM, Tim Newsham <tim.newsham at gmail.com> wrote:

> ps: I think it would be a great feature addition to have a way
> to directly force such properties as axioms to some analysis
> instead of having to code them up using Frama_C_*()
> primitives (using the entropy source).  I imagine this would
> ease the analysis too, since it wouldn't waste time having to
> analyze this extra boilerplate whose only purpose was to
> set a predetermined analysis state.
>
> Thoughts?
>
>
> On Wed, Aug 19, 2015 at 2:12 PM, Tim Newsham <tim.newsham at gmail.com>
> wrote:
>
>> I would like to prove that some code is safe for all buffers you can pass
>> in
>> as input. Is there a way to construct an arbitrary sized buffer (say
>> char*)
>> in frama such that all values are arbitrary ([--..--]) and so that the
>> properties \valid(p + (0..sz-1)) and \initialized(p + (0..sz-1)) hold?
>>
>> --
>> Tim Newsham | www.thenewsh.com/~newsham | @newshtwit |
>> thenewsh.blogspot.com
>>
>
>
>
> --
> Tim Newsham | www.thenewsh.com/~newsham | @newshtwit |
> thenewsh.blogspot.com
>
> _______________________________________________
> Frama-c-discuss mailing list
> Frama-c-discuss at lists.gforge.inria.fr
> http://lists.gforge.inria.fr/mailman/listinfo/frama-c-discuss
>



-- 
Boris
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/frama-c-discuss/attachments/20150827/3498685d/attachment.html>