[SystemSafety] A small taste of what we're up against

Olwen Morgan olwen at phaedsys.com
Thu Oct 25 14:02:11 CEST 2018


@all:

Is it me or are some of us, to reverse the metaphor, not seeing the 
trees for the wood. It seems to me that the variable quality of 
available data and studies means that we could go round in circles 
arguing about how much the use measures to ensure code quality improves 
dependability To my mind one does not need a big-picture argument here. 
What do we actually agree on?

1.    Do people agree that finding and correcting errors is cheaper the 
earlier it is done in the development process?

2.    Do people agree that detecting errors by static analysis is 
significantly cheaper than detecting them by testing? (I've seen claims 
that the per error detection cost is from 30% to 150% higher for testing 
than for static analysis.)

If the answer to *either* of these questions is yes, then *any* system 
development process should be using static analysis. Even if it does not 
improve dependability, surely making s/w at lower cost makes sense 
financially.

@David Crocker: Sorry you've felt the need to shelve your work but I 
agree with you entirely about the lack of interest in fixing C within 
the C standards community. It always amazes me that the C standard 
refers to "the abstract machine" but never actually defines it. If the 
standard were to define it rigorously, many of C's problems would go away.

While it is true that language design strongly influences the complexity 
of static analysis, I don't entirely share your pessimism over C. To 
compensate for it's dilapidations, my approach has always been to use a 
paranoiacally draconian subset and throw the best tools at the static 
analysis problem. I still think that approach is viable because, 
although the subset has to be severe, if you write code that way, 
*existing* tools can do a pretty good job of error detection - although 
it is often no trivial task to configure them to get things right.

The need to subset things is not confined to language. People work with 
cut-down UML, or, as I do, a chopped-off-at-the-knees-and-adapted subset 
of SSADM. Cutting things down is forced upon us by the lousy state of 
current standards but I continue to think it a workable strategy - 
possibly the only strategy - until the standardisation processes becomes 
less dysfunctional.


Olwen






More information about the systemsafety mailing list