Accoring to Damian Conway there is a linear relationship between the length of a piece of code and the munber of bugs it will have and that shell script is shorter...

A better reference for this can be found in Code Complete, chapter 21, "How Program Size Affects Construction", page 523, from a study done in 1977 (Jones, T. Capers. 1977. Program Quality and Programmer Productivity. IBM Technical Report TR 02.764, January, 42-78.).

In short:

Project Size in Lines of CodeError Density in Errors per 1K lines of code
< 2K0 - 25
2K - 16K0 - 40
16K - 64K0.5 - 50
64K - 512K2 - 70
> 512K4 - 100

Page 610 (in Chapter 25, "Unit Testing") cites "15 to 50 errors per 1000 lines of code for delivered software" as "industry average experience".

Note however that this data is very old, and new methods for software construction may give better results. Also, some organizations, most notably NASA projects, have achieved much, much better error rates, mostly by introducing rigorous testing and code review schemes. Also note the enormous variance in the data above.

Christian Lemburg
Brainbench MVP for Perl
http://www.brainbench.com


In reply to Re: Re: The qq{worse is better} approach (discussion) - Length of Code vs. Errors in Code by clemburg
in thread The qq{worse is better} approach (discussion) by deprecated

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.