Skip to content

floating-point support is somwhat incomplete

ID0002459: This issue was created automatically from Mantis Issue 2459. Further discussion may take place here.


Id Project Category View Due Date Updated
ID0002459 Frama-C Plug-in > wp public 2019-07-02 2019-10-17
Reporter florian Assigned To correnson Resolution suspended
Priority normal Severity block Reproducibility always
Platform any OS any OS Version any
Product Version Frama-C GIT, precise the release id Target Version - Fixed in Version -

Description :

Hi!

Maybe I am doing something fundamentally wrong, but I've tried some simple programs and I don't get anywhere. For example:

/*@ requires x >= 0.0f && x <= 100.0f; */ void float_fun(float x) { float y = x + 1.0f; //@ assert y >= 1.0f; }

I've had a look in share/frama-c/wp/why3/Cfloat.why and I'm not surprised nothing works, the axiomatisation is very incomplete, compared to the current stuff in why3. Could you please port to https://gitlab.inria.fr/why3/why3/blob/master/stdlib/ieee_float.mlw and then use a SMT solver by default that supports it natively (i.e. CVC4 or Z3)?

I know this is a bit of a drastic change, but as it stands WP is not overly useful for anyone trying to do anything with floats (e.g. control systems)...

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information