In general I think the direction is to cover any software development with formal proofs to detect any posibility of unexpected system state.