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] Assumes got status invalid
- Subject: [Frama-c-discuss] Assumes got status invalid
- From: Andre.OLIVEIRAMARONEZE at cea.fr (Andre Maroneze)
- Date: Tue, 17 Jul 2018 14:34:49 +0200
- In-reply-to: <CAGgQLD40_xGJK2EOvrgAjnDBM7fjjYUPQu7O3r1SiHbokvR4nQ@mail.gmail.com>
- References: <CAGgQLD40_xGJK2EOvrgAjnDBM7fjjYUPQu7O3r1SiHbokvR4nQ@mail.gmail.com>
According to the chosen command-line options, Eva may emit some verbose messages which are not warnings and are usually not a major concern for users, except when debugging or trying to understand precisely what is going on during the evaluation. Note that the message you displayed does not begin with "Warning" (although some very similar messages are emitted as warnings, in which case they do warrant special attention). During evaluation, Eva will consider each behavior of a function separately, even if it seems obvious to the user that a given behavior will not be activated (for instance, if your tz argument is always NULL, then the tz_not_null behavior will not be active). That message is just a verbose way of saying "this behavior is not being considered because its precondition is false". In the cases where such an invalid status is likely wrong (e.g. in a `requires` clause), Eva will report it as a warning/error. I'd recommend using Eva with the 3-step approach mentioned here: http://blog.frama-c.com/index.php?post/2018/01/25/Analysis-scripts%3A-helping-automate-case-studies It's a long series of posts, but the overall idea is to: - Parse the source files, save the result to a Frama-C file (-save); - Load the previous result in the command line (-load), run Eva, save its analysis to another file; - Load the previous result in the GUI, look at the "Messages" tab to see what warnings were emitted, then look at the "Properties" tab to see which properties are unknown/invalid, and work from there. Messages emitted in the command-line which do not show either as warnings (Messages tab) or as unproven alarms (Properties tab) are mostly for informative purposes, and rarely a concern in large case studies. The unreachability of your impact pragma must come from some other part of the analysis which needs to be stubbed or refined. Note that when analyzing applications based on command-line inputs (i.e., using argc/argv), the initial state considered by Eva is very restrictive, and a small stub is often necessary to obtain a more representative analysis. An example of such a stub is present at the end of the following file: https://github.com/Frama-C/open-source-case-studies/blob/master/solitaire/solitaire.c , in function `eva_main`, which would then be used by adding `-main eva_main` to the command line. On 16/07/18 12:34, Divya Muthukumaran wrote: > Hello, > > While performing impact analysis on nginx, I get a result saying that > the function where I have the impact pragma *ngx_alloc* is > unreachable. So I looked at the output and see lots of `got status > invalid` messages for preconditions. This is the first one of those > messages. > > [value] src/core/ngx_times.c:91: > > function gettimeofday, behavior tz_not_null: assumes got status > invalid; behavior not evaluated > > > When I look inside frama-c/libc/sys/time.h I see four behaviours > defined for the `getttimeofday` functions which should be the complete > specification for the `tz` and `tv` values, so I don't understand what > `assumes got invalid` here means. Could you please explain this? > Hopefully, this will also help me understand the others that follow. > > Thanks, > Divya > > > _______________________________________________ > Frama-c-discuss mailing list > Frama-c-discuss at lists.gforge.inria.fr > https://lists.gforge.inria.fr/mailman/listinfo/frama-c-discuss -- André Maroneze Researcher/Engineer CEA/LIST Software Reliability and Security Laboratory -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.gforge.inria.fr/pipermail/frama-c-discuss/attachments/20180717/f46ed7a8/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 3797 bytes Desc: S/MIME Cryptographic Signature URL: <http://lists.gforge.inria.fr/pipermail/frama-c-discuss/attachments/20180717/f46ed7a8/attachment.bin>
- References:
- [Frama-c-discuss] Assumes got status invalid
- From: divya84 at gmail.com (Divya Muthukumaran)
- [Frama-c-discuss] Assumes got status invalid
- Prev by Date: [Frama-c-discuss] Casting to a generic function pointer
- Next by Date: [Frama-c-discuss] GCC Builtins Support
- Previous by thread: [Frama-c-discuss] Assumes got status invalid
- Next by thread: [Frama-c-discuss] Frama-Clang 0.0.6 (compatible with Frama-C 17 Chlorine)
- Index(es):