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] about volatile variable in value analysis plugin and "Volatile" plugin
- Subject: [Frama-c-discuss] about volatile variable in value analysis plugin and "Volatile" plugin
- From: boris at yakobowski.org (Boris Yakobowski)
- Date: Tue, 15 Oct 2013 10:34:36 +0200
- In-reply-to: <CAA1cxujEDb5WjiLsyHn6D92O+9g133-QC9dfSfxyScF41dJaCg@mail.gmail.com>
- References: <CAA1cxugCoVcCFSd4joSnq9Pnk5EstakSnTK6MuGZTKEvArK21Q@mail.gmail.com> <CAC3Lx=Z4f502mN3oLgXms6i5=NGExb32PbDdGxXczGuEEHHjkQ@mail.gmail.com> <CAA1cxujEDb5WjiLsyHn6D92O+9g133-QC9dfSfxyScF41dJaCg@mail.gmail.com>
Hi, I was about to give you the same answer as David Mentr?: the support of volatile variables in Value is quite good. Unfortunately, your code invokes one of the few cases that cannot be handled automatically. More precisely, your function 'interpret' uses a volatile pointer to a node (_not_ a pointer to a volatile node). Abstract interpreters have no perfect way to automatically model such a pointer. Using Top (or something equivalent) means that any write '*p = ...' would destroy any precise information about the entire memory; and all the other choices are potentially unsound. Values chooses to model such volatile pointers as [..-..], which is good for embedded code -- that accesses memory-mapped devices. In your example, this modelization is incorrect. The Volatile plugin would allow you to specify, using an user-supplied function, what happens when such a volatile pointer is read. On Mon, Oct 14, 2013 at 10:58 AM, David Yang <abiao.yang at gmail.com> wrote: > Dear David, > > Thank you for replying me. > > On 14 October 2013 08:38, David MENTRE <dmentre at linux-france.org> wrote: >> >> Would you have a minimal example that reproduces the issue? >> > > Attachment please find the example of the function using volatile variables. > > the command I used for analysis this function is: > > frama-c -lib-entry -main interpret test.c -val -context-depth 0 > > > Thanks again. > > -david > > > > > _______________________________________________ > Frama-c-discuss mailing list > Frama-c-discuss at lists.gforge.inria.fr > http://lists.gforge.inria.fr/cgi-bin/mailman/listinfo/frama-c-discuss -- Boris
- Follow-Ups:
- [Frama-c-discuss] about volatile variable in value analysis plugin and "Volatile" plugin
- From: abiao.yang at gmail.com (David Yang)
- [Frama-c-discuss] about volatile variable in value analysis plugin and "Volatile" plugin
- References:
- [Frama-c-discuss] about volatile variable in value analysis plugin and "Volatile" plugin
- From: abiao.yang at gmail.com (David Yang)
- [Frama-c-discuss] about volatile variable in value analysis plugin and "Volatile" plugin
- From: dmentre at linux-france.org (David MENTRE)
- [Frama-c-discuss] about volatile variable in value analysis plugin and "Volatile" plugin
- From: abiao.yang at gmail.com (David Yang)
- [Frama-c-discuss] about volatile variable in value analysis plugin and "Volatile" plugin
- Prev by Date: [Frama-c-discuss] value analysis of function contain shift operations seems unable to stop
- Next by Date: [Frama-c-discuss] about volatile variable in value analysis plugin and "Volatile" plugin
- Previous by thread: [Frama-c-discuss] about volatile variable in value analysis plugin and "Volatile" plugin
- Next by thread: [Frama-c-discuss] about volatile variable in value analysis plugin and "Volatile" plugin
- Index(es):