The InformationWeek -- Blogs
Wolfe's Den Blog

Topics:   Wolfe's Den

  • Email this page E-mail this page
  • Print this page Print this page
  • Bookmark and Share
  • icon

More Than Coding Mistakes At Fault In Bad Software


Posted by Alexander Wolfe, Jan 12, 2009 11:56 AM

I'm glad the SANS Institute released its list of "top 25 most dangerous programming errors" in a bid to raise awareness about the omissions which make software vulnerable to deadly security breaches. However, security-clueless coding isn't the only thing responsible for software that sucks. Sadly, most people in the industry know what the problem is. So why doesn't anyone ever do anything about it?

You old-timers -- programmers who worked in the business before the PC industry kicked the waterfall development model to the curb -- know what I'm talking about. That waterfall model was replaced by a process (and I use that word loosely) where the modus operandi was to cram in as many features as possible before the shipping cut-off date, and then fix the problems in beta. (Sure, I know time pressures mean waterfall wasn't rigidly adhered to, and also that it had deficiencies, leading to the 1980s flowering of alternatives like agile-development and object-oriented programming. But at least we had a model.)

It really makes you wonder where we are today, when one sees that two of the top problems on the SANS list are improper input validation and improper access control (authorization). (I'm guessing there's also not much thought given to writing error catches. Probably the SQA or test folks have to tell today's youthful coders to add that stuff in afterwards.) Other goodies on the list include "hard-coded password" and improper initialization.

I guess you can't make this stuff up, but if it's as common as SANS says, I don't know if there's any hope at all.

OK, so I don't want to come off as some software grandpa telling the kids to get the heck off my lawn with my Cobol-loaded (actually, C) shotgun. But I do think it'd be a good idea if they were more familiar with some of the canonical works which mull the mysteries of software development, and offer up some ideas for doing a better job. (This is doubly apt because Satyam's troubles might lead to a rethinking of the "outsource everything" model.)

Two books in particular come to mind. There's Fred Brooks's 1975 classic, The Mythical Man-Month. (Wikipedia entry here, Amazon here.) The author, a one-time IBM manager, came up with the time-tested aphorism that throwing more programmers onto a project that's running late will only make that project even later.

My other favorite is Gerald Weinberg's The Psychology of Computer Programming. (There's a short excerpt posted here.) Weinberg's book isn't loaded up with one-liners, but rather provides an almost Freudian dive into the personalities of the people you work alongside. When I read it in the late 1970s (it came out in 1971) I was blown away by its dead-on-ness. (I'm guessing that hasn't changed much, though thankfully I have.)

Software smarts aside, it's probably the case that the Web is simply too wide-open to stanch the majority of security threats. Which I guess makes it even more important for developers to develop a sense of software history. Because even the lowliest maintenance programmer stands on the shoulders of computer-industry giants. (That link is to Katherine Davis Fishman's 1982 The Computer Establishment, a worthwhile history of the industry from ENIAC through the mainframe era.)


What language do you code in? Let me know, by leaving a comment below or e-mailing me directly at alex@alexwolfe.net.

Like this blog? Subscribe to its RSS feed, here.

For a mobile experience, follow my daily observations on Twitter.

Check out my tech videos on this YouTube channel.

Alex Wolfe is editor-in-chief of InformationWeek.com.

« What To Include In A Product Or Service Pitch | Main | The World Bank's Data Breach, And Its Sorry Follow-Up »



Sign Up Now
For InformationWeek News Alerts




This is a public forum. United Business Media and its affiliates are not responsible for and do not control what is posted herein. United Business Media makes no warranties or guarantees concerning any advice dispensed by its staff members or readers.

Community standards in this comment area do not permit hate language, excessive profanity, or other patently offensive language. Please be aware that all information posted to this comment area becomes the property of United Business Media LLC and may be edited and republished in print or electronic format as outlined in United Business Media's Terms of Service.

Important Note: This comment area is NOT intended for commercial messages or solicitations of business.




 

  1. Actors, Messages and Low Lock Contention for Java
  2. Of Course The Transformers are Multicore with SMT technology
  3. Find John Fast!!


Join The InformationWeek Group On LinkedIn


                           


  1. Why I'm Dropping Bing For Google
  2. Video: iPhone Tips And Tricks
  3. Zero-Day Hits Microsoft DirectShow
  4. Palm Pre Sales Reports Not Meshing
  5. Is This Sony Ericsson's First Android Phone?


  1. Microsoft Fix For 'Browse-And-Get-Owned' Flaw Coming Tuesday
  2. Amazon's Kindle 2 Gets A Price Cut
  3. Texting Trolley Operator Indicted
  4. Amazon Launches Web Site For Cell Phones
  5. Military Grapples With Information Overload
  6. DHS Systems More Secure, Inspector General Finds

 

  Ars Technica
Boing Boing
Channel 9 Forums
CRN Blogs
Dr.Dobb's Portal: Blogs
Engadget
Gizmodo
GrokLaw
  Lifehacker
Schneier on Security
Slashdot
TechCrunch
Techdirt
Techmeme
Valleywag

  DECEMBER 2008
NOVEMBER 2008
OCTOBER 2008
SEPTEMBER 2008
AUGUST 2008
JULY 2008
JUNE 2008
MAY 2008
  APRIL 2008
MARCH 2008
FEBRUARY 2008
JANUARY 2008
DECEMBER 2007
NOVEMBER 2007
OCTOBER 2007
SEPTEMBER 2007