Wednesday, January 12, 2011

Hard lesson to learn

See here: what happens when you think the spec does not apply to you because you are special*. In short: huge computer security problems, and huge embarrassment...

But it's such a valuable lesson, you know? Realizing there are many more specs than any human can possibly read, and the full extent of the consequences, is a sobering experience. These specs tell you how to write C code, how to call OS APIs, how to boot a machine, how to use a graphics card, how to use a compiler, etc. Those specs also state how you're supposed to do stuff so that the resulting behavior is well defined, as opposed to undefined (see video above). That also means we do not have the means to ensure proper software behavior because ultimately we do not understand how it is meant to work correctly.

Thus, regardless of typing and safe compilers and whatever, how can we make sure our software really works when we cannot absorb all the material necessary to prove our software correct? Alas, in the mean time, this is the world we live in today. Back to reading more specs...

* e.g.: because you can sue anybody who disagrees into compliance.

No comments: