在計算機科學和軟件工程領域,形式化方法是基於數學的特種技術,適合於軟件和硬件系統的描述、開發和驗證。[1]
In computer science and software engineering, formal methods are a particular kind of mathematically-based techniques for thespecification, development and verification of software and hardware systems.[1]
將形式化方法用於軟件和硬件設計,是期望能夠像其它工程學科一樣,
The use of formal methods for software and hardware design is motivated by the expectation that, as in other engineering disciplines, performing appropriate mathematical analysis can contribute to the reliability and robustness of a design.[2]
但是,由於採用形式化方法的成本高意味着它們通常只用於開發注重安全性的高度整合的系統。[3]
However, the high cost of using formal methods means that they are usually only used in the development of high-integrity systems,[3] where safety or security is of utmost importance.
from:
http://en.wikipedia.org/wiki/Formal_methods
http://en.wikipedia.org/wiki/History_of_software_engineering