Software engineering and formal methods

Mike Hinchey, Michael Jackson, Patrick Cousot, Byron Cook, Jonathan P. Bowen, Tiziana Margaria

Research output: Contribution to journalArticlepeer-review


The software engineering community has applied formal methods to improve software reliability and dependability to specify, design, analyze, and implement a hardware or software system. The challenges while developing a formal model is met by experience accumulated in each particular product class and captured in a normal design discipline. Formal verification methods also include defining of semantics and specification of a complex systems. Abstract interpretation aids in reducing the complexity inherent in proving properties and correctness of complex software systems, resulting in automating reasoning. Computer-aided formal method engineering targets knowledge understanding and solves problems heterogeneously at a meta level, where whole methods and paradigms are combined.

Original languageEnglish (US)
Pages (from-to)54-59
Number of pages6
JournalCommunications of the ACM
Issue number9
StatePublished - Sep 1 2008

ASJC Scopus subject areas

  • General Computer Science


Dive into the research topics of 'Software engineering and formal methods'. Together they form a unique fingerprint.

Cite this