Giving Bugs the Boot

A short news item about micro-rebooting courtesy of an ACM mail. Giving Bugs the Boot. Erlang anyone?

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Seems backwards

I found the following piece quite interesting:
The researchers are experimenting with algorithms that watch over system processes and sense when something has gone awry, and a crash is imminent. The algorithms focus on determining the normal baseline operations of applications, and when they see a deviation from the baseline, the system can quickly do a micro-reboot without the user even knowing that a problem has occurred.
While the text is very low on details it seems to imply that if one wants to use this then one has to specify in some way or the other what a correct execution of the program would look like. That's how I interpret it anyway. But this information could be used to help eliminate the bugs before the program is run. Consider QuickCheck for instance. A very nice tool for specifying properties about your program. Given these properties QuickCheck can automatically generate test cases to test these properties. This is in my opinion a better way to spend the effort of describing properties about a program.

I believe strongly in making programs robust and it is important to have fallback mechanisms in your program. But it should not be done on the expense of making sure that the program is correct.

T'ai Chi

You're right, but at the end of the day we are imperfect beings creating imperfect software. Given that, then rather than resisting up to the point of collapse it might be better to absorb, deflect and rebalance instead. Applying a martial arts philosophy to software construction if you see what I mean.