The Coming Need for Formal Specification

9 points by carlana


matu3ba

1 There is https://github.com/tlaplus/TLAiBench and https://github.com/specula-org/Specula, so far without scalability numbers etc. Proof effort scales quadratically with code size shown by some paper related to sel4 project, so there will be fundamental constrains by this approach.

2 Personally I hold the opinion that we have no excellent, flexible graphical editors to sketch and iterate on such formal specifications. From the hardware planning side there is for example SystemC/TML, SystemC/ASM, Simulink (control), on the software side SysML and not nice to use UML. However something to make simple graphs and refine them or search for existing graph structures to copy paste approaches for hardware and software planning, specification, simulations etc does not exist.

3 The biggest drawback of TLA+ is that checking that the formal specification makes sense usually works for humans via tests (of running the system) and I am unaware how to lift or lower TLA+ for small step code semantics (to execute traces etc). In practice (for bigger systems) you want the formal specification (of the system) being validated for edge cases and see how it correlates to the formal specification to ensure that the spec makes sense.