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] Dynamically allocated lists
- Subject: [Frama-c-discuss] Dynamically allocated lists
- From: fniksic at mpi-sws.org (Filip Niksic)
- Date: Mon, 19 Jan 2015 15:15:01 +0100
- In-reply-to: <7FF8790D-873D-4348-A5E4-3E808F038782@cea.fr>
- References: <54B925EA.2090309@mpi-sws.org> <7FF8790D-873D-4348-A5E4-3E808F038782@cea.fr>
On 01/19/2015 10:39 AM, Lo?c Correnson wrote: > Hi, > So many topics in this message ;-) Unfortunately, as soon as one tries to tackle an example with some memory allocation and inductive data structures, a large number of difficulties seems to arise. > WP & Inductive : we only generate the lemma corresponding to the different induction cases, as ways to establish the predicate. > The inversion / induction lemma is not generated, because SMT solvers will instantiate them infinitely often... I see, and it makes sense. But when you target Why3, wouldn't it make sense to simply generate the inductive predicate (supported in the Why3 language with the keyword inductive), and let Why3 worry about the actual axioms for SMT solvers? Also, shouldn't there be a way to guide the SMT solver using triggers? > WP & Allocation : there is no built-in support for allocation and freshness. You must simulate these properties by hand by using dedicated mallocs and several tricks. > The most prominent problem is to deal with separation efficiently. Is there some online resource, like a blog or a stackoverflow post, where one could learn a few of these tricks? I've been hacking my way around the lack of support for allocation for a while now, and it would be really helpful if I wouldn't have to rediscover things on my own. On the other hand, what is the status of WP regarding allocation? Is there a chance we could see this supported in the next release? If not, how much work do you think is needed to implement this stuff? Is it perhaps something a masters student would be able to do it in a few weeks or months? Or would it make for a PhD research project? > Predicate with pointers : you absolutely need framing properties. Assuming a predicate is true at program point L, is-it still true after writing through some pointer ? > Those kind of problems are known to be very difficult in the literature? This is certainly a hot spot for deductive reasoning in general. It is actually surprising that there's such a large body of work on separation, and yet it seems that very little of it is made usable in practical tools. Filip
- Follow-Ups:
- [Frama-c-discuss] Dynamically allocated lists
- From: loic.correnson at cea.fr (Loïc Correnson)
- [Frama-c-discuss] Dynamically allocated lists
- References:
- [Frama-c-discuss] Dynamically allocated lists
- From: fniksic at mpi-sws.org (Filip Niksic)
- [Frama-c-discuss] Dynamically allocated lists
- From: loic.correnson at cea.fr (Loïc Correnson)
- [Frama-c-discuss] Dynamically allocated lists
- Prev by Date: [Frama-c-discuss] Dynamically allocated lists
- Next by Date: [Frama-c-discuss] Dynamically allocated lists
- Previous by thread: [Frama-c-discuss] Dynamically allocated lists
- Next by thread: [Frama-c-discuss] Dynamically allocated lists
- Index(es):