An Apologia for Formal Methods

In the January 2010 copy of IEEE Computer, David Parnas published an article, “Really Rethinking ‘Formal Methods’” (sorry, you’ll need an IEEE subscription or purchase the article to access it), with the following abstract:

We must question the assumptions underlying the well-known current formal software development methods to see why they have not been widely adopted and what should be changed.

I found some of the opinions therein to be antiquated, so I wrote a letter to the editor (free content!), which appears in the March 2010 edition.  IEEE also published a response from David Parnas, which you can also access at the letter link above.

I’ll refrain from visiting this debate here, but please have a look at the letters, enjoy the controversy, and do not hesitate to leave a comment!


Tags: ,

2 Responses to “An Apologia for Formal Methods”

  1. Kefer Says:

    Parnas: “the routine use of formal software development methods remains rare after more than 40 years of effort.”


    Your position on the discussion appears to be: “Well, I’m immersed in it all the time. It’s not rare for ME! Besides things are changing: {insert sparse examples here}.”

    That said, I wouldn’t focus as much on the tool providers and researchers as Parnas does. Formal methods, just like its sibling, calculational approaches to programming, requires a strong background in math that most practitioners in computing lack. Code monkeys that can surf their way through humongous libraries and APIs are still more highly valued than those that can’t, whether in industry or academia.

    We don’t care as much about correct software as we think we do. The mafioso elements in the software industry ensure that half-correct snake oil correctly peddled rakes in more lucre than adamantine code.

  2. Yakov Zaytsev Says:

    PDF of the David’s article is available on the internet. google for it. (Don’t know if it’s ok to post link here)

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: