Formal methods and academic computer science

Holloway [22] points out that the typical argument in favor of formal methods (that software is bad, unique, and discontinuous; that testing is inadequate; and that formal methods are essential to avoid design flaws) is logically flawed, and unnecessarily complex (in logical terms). He proposes a simpler argument, which is both simple and logically valid: software engineers want to be real engineers; such engineers apply mathematics; and since formal methods is the mathematics of software engineering, software engineers should use formal methods.


Can you imagine Maxwell or some advocate of his making a similar argument about why electrical engineers should use electromagnetic theory? The circular argument here depends on the declaration that “formal methods is the mathematics of software engineering”.  No it’s not. The mathematics of some engineering discipline helps engineers solve actual problems in that discipline.