Archive for January 11, 2010

The technical exists in the social context

I love the story of Social Processes and Proofs of Theorems and Programs by Rich DeMillo, Alan Perlis, and Dick Lipton.  They were responding to the calls to use formal verification methods to prove the correctness of programs.  Their response was (my paraphrase) that it just won’t work.  Proofs aren’t easy, and they only work in mathematics because there are social conventions and mechanisms that create, check, and correct proofs — sometimes over many years.  Software engineering has no social mechanisms like that, and until it does, the authors contend that formal verification at large scale simply won’t happen.

In the most recent CACM, editor-in-chief Moshe Vardi argues that this article is “misguided.” DeMillo responds in his blog, capturing the irony of the situation.  Vardi is making a technical argument, and DeMillo is saying (like he did in the original paper) that it’s the social context that Vardi ought to be addressing.

If our arguments seem off the mark to Mr. Vardi, then perhaps the right course of action is to resurrect the social process that led to the article’s publication in the first place and jump into the fray. Until that time, the correct editorial position for CACM and its Editor is to let both the paper and the written record that surrounds it speak for themselves. It strikes us as inappropriate, after thirty years of silence, to use the cover of an Editorship to attack unsuspecting passersby, especially while touting the moral virtues of free and vigorous debate.

via A Letter to the Editor « WWC.

This insight, that the technical arguments and data exist in a social context, came to me last summer. That’s the realization about which I was speaking last August in my blog post “It’s the goals not the data.” I realized last summer that change in curricula does not come about by having the best data. Rather, curricular change occurs when something new better matches the goals of the instructors and the decision-makers for those curricula.  Things work now.  Making things work better is an argument for change, but better depends on which criteria and goals one uses.

I was frankly depressed when I realized that all my studies, all the books we wrote, and all the data supporting Media Computation made no impact on decision-makers who have different priorities with respect to success rates or diversity as significant goals.  People who are rejecting Media Computation are not rejecting those goals — they simply have different priorities than I do.  My technical arguments (studies and data) and efforts (books and tools) exist in a social context, and not all members of that society share the same priorities.

That’s what the original paper by DeMillo, Perlis, and Lipton was arguing — that the technical achievements and goals have to be seen in a social context, with different priorities.  Could we imagine a software engineering department tenuring a faculty member for a particularly brilliant proof of the correctness of the Travelocity website?  Probably not — most software engineering departments have different priorities.  That’s how I read what DeMillo and Lipton are pointing out again in their letter to the editor.  The argument should not be about the technical quality of the paper, but about the social process that vetted and approved it.

Society trumps technology, every time.

January 11, 2010 at 2:32 pm 12 comments

Enter your email address to follow this blog and receive notifications of new posts by email.

Join 10,185 other subscribers


Recent Posts

Blog Stats

  • 2,060,394 hits
January 2010

CS Teaching Tips