Secure Coding mailing list archives

RE: MISRA C (was: Industry support groups that foster secure/quality coding practices)


From: "David Crocker" <dcrocker () eschertech com>
Date: Thu, 01 Jan 2004 19:58:06 +0000

Steve Litt wrote:


Curious: Why would one mandate O-O for embedded applications? I would think
that with memory constraints etc, for simple embedded apps, a simple top-down
structure would result in faster code, less memory usage.
<<

O-O development is not yet widely used for embedded control systems, but has
made inroads in some other sorts of embedded systems (e.g. Java on smartcards).
However, I think we will see more use of O-O in embedded systems in future.

The major US aerospace companies have been looking at O-O for some time, to the
extent that the Federal Aviation Administration has published a position paper
on certification concerns
(http://www2.faa.gov/certification/aircraft/av-info/software/CAST/cast-4.rtf)
and is coordinating the Object Oriented Technology in Aviation (OOTiA) program
(http://shemesh.larc.nasa.gov/foot/index.html).

While the benefits of O-O development have been oversold by many, there is no
doubt in my mind that it makes large, complex systems easier and faster to
build. This I think will propel O-O technology into areas like air traffic
control and flight instrumentation.

Memory constraints are generally less important than they used to be due to
advances in semiconductor technology.


I'm not an embedded guy -- mostly office automation and the like, but I use C
less and less these days. With pointer arithmetic, there's very little way I
can prove to myself that my code does not contain an errant pointer that
will, upon just the right set of circumstances, do something stupid. The
MISRA spec you mention sounds interesting, as it might prevent me from making
those errant pointer errors.
<<

Fine - if you can avoid using C, do so! For those who must use C, there is
rarely any good reason to use pointer arithmetic anyway. Some of the best C++
developers do not even use arrays (they use classes from the standard template
library instead).

David Crocker
Escher Technologies Ltd.
www.eschertech.com










Current thread: