--- layout: fc_discuss_archives title: Message 34 from Frama-C-discuss on March 2011 ---
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Frama-c-discuss] precision for expression evaluation in a condition



Hello,

I have the following code:

int main(int bar)
{
  int toto;
  if (bar == 1234)
  {
    toto = 0;
  }
  else
  {
    toto = 1;
    toto = 2;
    toto = 3;
  }
  return toto;
}

On windows xp, FramaC Boron with the following command:
frama-c-gui -slevel 100 -val test.c

when evaluating bar at the toto = 1; line I get:
Before statement:
bar ? {1234; }
At next statement:
bar ? [--..--]
but when evaluating bar at the toto = 2; line I get:
Before statement:
bar ? [--..--]
At next statement:
bar ? [--..--]
when I was hoping for something like
 bar ? [--..--] - {1234}
based on the evaluation of bar at the toto = 1 and toto = 3 lines

Is there a way to get these exclusions from the value analysis?
Even if there is only one line in the else branch?

If possible I'm looking for a way to evaluate an expression at the
statement, not before or after.
If the statement modifies the expression it does not work but if it is not
related to it, shouldn't the value analysis be able to provide a value or
range for this expression?

Thank you

-Xavier
-------------- section suivante --------------
Une pi?ce jointe HTML a ?t? nettoy?e...
URL: <http://lists.gforge.inria.fr/pipermail/frama-c-discuss/attachments/20110315/1437c4c8/attachment.htm>