Re: How to develop a random number generation device
- From: Martin Brown <|||newspam|||@nezumi.demon.co.uk>
- Date: Thu, 20 Sep 2007 07:25:18 -0700
On Sep 20, 2:16 pm, MooseFET <kensm...@xxxxxxxxx> wrote:
On Sep 19, 8:00 pm, JosephKK <joseph_barr...@xxxxxxxxxxxxx> wrote:
MooseFET kensm...@xxxxxxxxx posted to sci.electronics.design:
On Sep 19, 7:01 am, John Larkin
<jjlar...@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx> wrote:
No, I am making the true observation that complex digital logic
designs are usually bug-free, simple software systems have a chance
of being so, and complex software systems never are.
John
May i introduce you to a concept called cyclomatic complexity. The
cyclomatic complexity of 100's of interacting state machines is on
the order of 10^5 to 10^6. A memory array of regular blocks of
storage accessed by a regular decoder has a cyclomatic complexity of
on the order of 10 to 10^2. In the memory there is much
self-similarity across several orders of magnitude in size.
I agree entirely. People don't seem to appreciate how complex modern
software is. And for that matter just how difficult it is to write
absolutely bullet proof code that will never fail no matter what the
provocation.
So what exactly is the definition. It seems to me that just because
the memory is a repeated array in physical space, it needn't be in
logical space.- Hide quoted text -
It is actually a better metric for deciding on the number of test
cases needed to excerise every path in a complex decision network at
least once. Essentially it gives a path complexity count of all the
control flows through the code.
http://www.sei.cmu.edu/str/descriptions/cyclomatic_body.html
and
http://en.wikipedia.org/wiki/Cyclomatic_complexity
It should be better known in the industry.
I like McCabes CCI which I find a *very* good indicator of code likely
to contain bugs. It comes from a graph theory analysis of the
decision nodes in a routine. Although I disagree with the proponents
of this metric about exactly where the thresholds should be placed. It
is a good way to find dangerous spaggetti code sections in an
inheritted large project without having to read through everything.
And a good way to check for future maintainence traps.
I can pretty much guarantee that above a certain size or complexity
there will be bugs in a given routine. You will get more hits Googling
with the longer "Tom McCabe" and "cyclomatic complexity index". Sadly
it is yet another useful tool ignored by the mainstream. "McCabe's
CCI" gets mostly my own postings and a medical usage.
Regards,
Martin Brown
.
- Follow-Ups:
- Re: How to develop a random number generation device
- From: MooseFET
- Re: How to develop a random number generation device
- From: Rich Grise
- Re: How to develop a random number generation device
- References:
- Re: How to develop a random number generation device
- From: David Brown
- Re: How to develop a random number generation device
- From: John Larkin
- Re: How to develop a random number generation device
- From: David Brown
- Re: How to develop a random number generation device
- From: John Larkin
- Re: How to develop a random number generation device
- From: David Brown
- Re: How to develop a random number generation device
- From: John Larkin
- Re: How to develop a random number generation device
- From: MooseFET
- Re: How to develop a random number generation device
- From: Martin Brown
- Re: How to develop a random number generation device
- From: John Larkin
- Re: How to develop a random number generation device
- From: Martin Brown
- Re: How to develop a random number generation device
- From: John Larkin
- Re: How to develop a random number generation device
- From: MooseFET
- Re: How to develop a random number generation device
- From: JosephKK
- Re: How to develop a random number generation device
- From: MooseFET
- Re: How to develop a random number generation device
- Prev by Date: Update on the "search engine without parts spammers"
- Next by Date: Re: Water Cooled Power Resistor Gets Rusty
- Previous by thread: Re: How to develop a random number generation device
- Next by thread: Re: How to develop a random number generation device
- Index(es):
Relevant Pages
|