Linked by Thom Holwerda on Tue 13th Jun 2006 12:08 UTC, submitted by Mapou
General Development "There is something fundamentally wrong with the way we create software. Contrary to conventional wisdom, unreliability is not an essential characteristic of complex software programs. In this article, I will propose a silver bullet solution to the software reliability and productivity crisis. The solution will require a radical change in the way we program our computers. I will argue that the main reason that software is so unreliable and so hard to develop has to do with a custom that is as old as the computer: the practice of using the algorithm as the basis of software construction. I will argue further that moving to a signal-based, synchronous software model will not only result in an improvement of several orders of magnitude in productivity, but also in programs that are guaranteed free of defects, regardless of their complexity."
Permalink for comment 133708
To read all comments associated with this story, please click here.
Member since:

> Are there any links you guys can share, that discuss about solution or work-around's for the common software (engineering) problem with tools today, without a radical, non-existing solution like COSA?

Praxis High Integrity Systems developed SPARKAda, a version of Ada with additionnal static checks : (you will find a lot of whitepapers here, too).

You may be interested in this article by Eiffel Software on Design by Contract :
(Eiffel was the first language to include DbC).

A subset of C, MISRA-C (currently in its 2004 edition) is used by embedded software developers in the automotive industry:

There is also a quite similar project for C++, the "High Integrity C++ Coding Standard Manual" available here :

On his webpage, Jack Ganssle (a veteran embedded systems engineer) has a lot of cool articles; some of them deal with quality : Check his columns on too, he often talks about embedded software quality.

Reply Parent Score: 1