My main interest is in using such notations to specify software , and to make my own software development more efficient by using formal methods. Here are what I believe are the keys to more successful use of formal methods. Focus on finding errors. It is as easy to write an incorrect specification as it is to write an incorrect program, so the primary focus of formal methods should be on detecting errors in specifications, in programs, and in other artifacts. Scale down to very small data sets if that helps detect errors.
Partial specification is still useful for finding errors.
Execute specs and programs in parallel, cross-checking results, to catch cases where they conflict. The primary attraction of formal notation is that it can be machine analyzed. Robust, with good user interfaces. Work closely with industry on real problems. The above list is not meant to be exclusive.