I started scratching on the surface of formally verified software. I whish to gain some experience on how this is done in reality. I have a project where I belive that formal methods could be applied. I year back I began work on uFSM (https://github.com/jonpe960/ufsm) which is a statechart library written in C. uFSM is < 1kLOC and has no external dependencies.
From my current point of view I think the following needs to be done:
1) Translate the relevant parts of the UML Statechart spec in to something that can be analysed and proven
- What tools are available/appropriate for specifying and analysing requirements?
- What tools are available/appropriate for specifying and proving properties of the specification?
2) Derive an implementation from the specification
3) ... ?
I'm looking for advice on which methods could be appropriate, books and papers on this topic and if anyone shares this interest and wants to collaborate I would be thrilled.