Software Engineering and Formal Methods. - HINCHEY, MIKE; JACKSON, MICHAEL; COUSOT, PATRICK; COOK, BYRON; BOWEN, JONATHAN P.; MARGARIA, TIZIANA (Communications of the ACM, 2008)
The article discusses computer software reliability, examining the use of an approach to programming called 'formal methods.' This approach, the article indicates, requires substantial mathematical experience and may be difficult to apply. Topics include particular domains or classes of applications, specification notation and formal semantics, and a deductive apparatus for reasoning. Also discussed are verification and refinement, automated formal methods, and abstracting, modeling, and applying systems.