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] New Frama-C version: Fluorine



Hi Claude,

Indeed inserting an //@assert \false; results it being proved. Why does
this happen with Z3 and not other provers?.

2013/4/22 Claude Marche <Claude.Marche at inria.fr>

>
> The fact that a prover "suddenly" proves everything when before it wasn't,
> may be the sign of an inconsistency in the context. A good practice in such
> a case is to try to insert a few "smoke detector" in your code. Typically,
> you may try to insert
>
> //@ assert \false;
>
> right before the return instruction. If this assertion is also proved,
> then you have found an inconsistency.
>
> Hope this helps,
>
> - Claude
>
>
> On 04/19/2013 09:34 PM, Cristiano Sousa wrote:
>
>> Ok, something really weird is happening. With z3 i'm able to prove
>> everything that i previously was not able. Either the POs always have
>> been correct and WP was limited, or why/z3 is experiencing some strange
>> behavior. I believe it's the latter
>>
>> On a side note related to the new memory model. What implications arise
>> from using the unsafe casts option?
>>
>>
>> 2013/4/19 Cristiano Sousa <cristiano.sousa126 at gmail.com
>> <mailto:cristiano.sousa126@**gmail.com <cristiano.sousa126 at gmail.com>>>
>>
>>
>>     Thanks,
>>
>>     the patch file however tries to patch various files in src/wp/test
>>     that do not exists (at least in the public release). Removing that
>>     solves the problem and why works again with the following warnings:
>>
>>     File "/Users/xxxx/.frama-c-wp/**typed/Axiomatic.why", line 16,
>>     characters 8-11: unused variable x_0
>>     File
>>     "/Users/xxxx/.frama-c-wp/**project.session/../typed/**
>> strlen_Why3_ide.why",
>>     line 22, characters 6-9: unused variable x_0
>>     File
>>     "/Users/xxxx/.frama-c-wp/**project.session/../typed/**
>> strlen_Why3_ide.why",
>>     line 65, characters 6-9: unused variable x_1
>>     File
>>     "/Users/xxxx/.frama-c-wp/**project.session/../typed/**
>> strlen_Why3_ide.why",
>>     line 64, characters 6-9: unused variable x_0
>>     File
>>     "/Users/xxxx/.frama-c-wp/**project.session/../typed/**
>> strlen_Why3_ide.why",
>>     line 108, characters 6-9: unused variable x_0
>>     File
>>     "/Users/xxxx/.frama-c-wp/**project.session/../typed/**
>> strlen_Why3_ide.why",
>>     line 141, characters 6-9: unused variable x_0
>>     File
>>     "/Users/xxxx/.frama-c-wp/**project.session/../typed/**
>> strlen_Why3_ide.why",
>>     line 186, characters 6-9: unused variable x_0
>>     File
>>     "/Users/xxxx/.frama-c-wp/**project.session/../typed/**
>> strlen_Why3_ide.why",
>>     line 223, characters 6-9: unused variable x_0
>>
>>     http://pastebin.com/ckjLNaGZ
>>
>>     curiously z3 is able to successfully prove everything in the
>>     original code (without the addition of BASE and END)
>>
>>
>>     2013/4/19 Lo?c Correnson <loic.correnson at cea.fr
>>     <mailto:loic.correnson at cea.fr>**>
>>
>>
>>         Missing an include.
>>
>>
>>
>>         Le 19 avr. 2013 ? 16:41, Cristiano Sousa a ?crit :
>>
>>          Hi,
>>>
>>>
>>>         2013/4/19 Lo?c Correnson <loic.correnson at cea.fr
>>>         <mailto:loic.correnson at cea.fr>**>
>>>
>>>
>>>             Thanks for the bug report.
>>>             Current status :
>>>
>>>             1. pointer comparison is actually missing in Why3 resources ;
>>>             2. pointer difference is incorrectly translated in WP ;
>>>
>>>
>>>         Even with the patch applied, is why3 still not supposed to work?
>>>
>>>         Error while reading file '../typed/strlen_Why3_ide.why'**: File
>>>         "/usr/local/share/frama-c/wp/**memory.why", line 36, characters
>>>         36-40: Unbound symbol 'bool'
>>>
>>>         --
>>>         Regards,
>>>         Cristiano Sousa
>>>         ______________________________**_________________
>>>         Frama-c-discuss mailing list
>>>         Frama-c-discuss at lists.gforge.**inria.fr<Frama-c-discuss at lists.gforge.inria.fr>
>>>         <mailto:Frama-c-discuss at lists.**gforge.inria.fr<Frama-c-discuss at lists.gforge.inria.fr>
>>> >
>>>         http://lists.gforge.inria.fr/**cgi-bin/mailman/listinfo/**
>>> frama-c-discuss<http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/frama-c-discuss>
>>>
>>
>>
>>         ______________________________**_________________
>>         Frama-c-discuss mailing list
>>         Frama-c-discuss at lists.gforge.**inria.fr<Frama-c-discuss at lists.gforge.inria.fr>
>>         <mailto:Frama-c-discuss at lists.**gforge.inria.fr<Frama-c-discuss at lists.gforge.inria.fr>
>> >
>>
>>         http://lists.gforge.inria.fr/**cgi-bin/mailman/listinfo/**
>> frama-c-discuss<http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/frama-c-discuss>
>>
>>
>>
>>
>>     --
>>     Cumprimentos,
>>     Cristiano Sousa
>>
>>
>>
>>
>> --
>> Cumprimentos,
>> Cristiano Sousa
>>
>>
>> ______________________________**_________________
>> Frama-c-discuss mailing list
>> Frama-c-discuss at lists.gforge.**inria.fr<Frama-c-discuss at lists.gforge.inria.fr>
>> http://lists.gforge.inria.fr/**cgi-bin/mailman/listinfo/**frama-c-discuss<http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/frama-c-discuss>
>>
>>
> ______________________________**_________________
> Frama-c-discuss mailing list
> Frama-c-discuss at lists.gforge.**inria.fr<Frama-c-discuss at lists.gforge.inria.fr>
> http://lists.gforge.inria.fr/**cgi-bin/mailman/listinfo/**frama-c-discuss<http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/frama-c-discuss>
>



-- 
Cumprimentos,
Cristiano Sousa
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gforge.inria.fr/pipermail/frama-c-discuss/attachments/20130424/16c7f185/attachment-0001.html>