Recently I have been working with frama-c
and I have faced a problem which is a bit confusing.
I have written a very simple program in frama-c
which is this:
void main(void)
{
int a = 3;
int b = 4;
/*@ assert a == b;*/
}
I expect frama-c
to say the assertion is not valid which in GUI
this is shown by red bullet, but instead frama-c
says the assertion is not valid according to value (under hypothesis), which is shown by orange-red bullet.
My question is why would frama-c
say the assertion is not valid under hypothesis?
What are the possible hypotheses?
I am asking this because my program is very simple and I can't find any hypothesis or dependency in my program which is related to the assertion and I guess frama-c
should just say the assertion is not valid.