Everything2
Near Matches
Ignore Exact
Full Text
Everything2

debugging is an imperfect science, fraught with anxiety

created by moa

(idea) by moa (2.3 mon) (print)   ?   (I like it!) Wed May 10 2000 at 19:04:58

We are led to believe by the technical literature, school, the media - that Software Development is "Engineering". So called "certified engineers" (IEEE and so forth) take offense to this, but both sides are somewhat correct. That is, Software development is more akin to plumbing than it is to true engineering. How can you engineer something with tools that can sometimes change daily? with tools that themselves are written by individuals, groups of individuals, groups of groups, that may or not be accurate? At least with electrical or mechanical engineering there are some constants (like Gravity, Ohms Law, Laws of Thermodynamics, "big laws"). In Software, the best we get is "the software development lifecycle", and theories that more specifically concern managing the people and process that develops the software, rather than the tools and specifications of the actual software.

Note: Not For Lack Of Trying. See The Mythical Man Month and others.


Yet our perception is that with enough thought, late nights and caffineated beverages (see naive perceptions about software development we can approach the degree of precision defined by physical engineering. This is an arrogant posture, and great failures like Windows Stability will echo this for ages to come. Yet as a corollary, we have Linux.
In development, based on some of the premises above, how can we ever get to a point of being able to analyze something from an unknown position? Our best efforts are Trial and Error, a combination of knowledge of the code and environment, and guesstimates as what to disable to identify problems. In fact the only usefull software method I have yet found for identifing deep bugs is a process akin to the famous Quick Sort method. At least this way you tend to find the bug in less than X^N time.

Of course, this dosen't help much with Link Errors.


printable version
chaos

naive perceptions about software development Link Errors The Mythical Man-Month bubble sort
Quantify, Command & Control (1945 -1980) II I discovered a bug in grep on SunOS 5.6 As I wait for the words of my lover The stability of Windows NT
On watching your dad vandalize city property Software development is not an engineering discipline It's cool to hate Microsoft Linux
IEEE imperfect proof
Y'know, if you log in, you can write something here, or contact authors directly on the site. Create a New User if you don't already have an account.
  Epicenter
Login
Password

password reminder
register

Everything2 Help

Cool Staff Picks
Little presents from the Node Fairy:
A Beginner's Guide to IRC
Alcibiades
Shall I Compare Thee to a Dead Portuguese Man-of-War Lying Bloated on a Polluted Beach?
God is Dead
Sgt. Kenneth Lancaster
Shylock
Terence, This Is Stupid Stuff
Little red raver girl
Jiddu Krishnamurti
Fight Club as an extension of the Beat Generation
Ash Wednesday
With all the advances in technology it still takes 3 days to clear a cheque
A Clockwork Orange
New Writeups
Aerobe
Watch out for falling meat(poetry)
C-Dawg
Beelzebub has a devil put aside for me(fiction)
Pavlovna
My Better Half(fiction)
kanoodle
Molson muscle(essay)
aneurin
You pays your money and you takes your choice(idea)
shaogo
July 20, 2008(log)
Glowing Fish
Tualatin River(place)
The Jacket
Words of Advice(idea)
John_Fox
Good Intentions Gone Wrong(person)
Heitah
Posthumous Oscar(thing)
ignis_glaciesque
University of South Florida(place)
ignis_glaciesque
Flogstaskriket(idea)
liveforever
Caesar's last breath(idea)
dagnyswaggart
she wants to believe(personal)
antigravpussy
he doesn't know, but her eyes widen too far(thing)
Everything 2 is brought to you by the letter C and The Everything Development Company