Tag: Perfection

Interesting Notes – Part I

  1. About 50% of all defects are introduced during programming, the phase in which actual
    coding takes place. Whereas just 15% of all errors are detected in the initial design stages,
    most errors are found during testing. At the start of unit testing, which is oriented to
    discovering defects in the individual software modules that make up the system, a defect
    density of about 20 defects per 1000 lines of (uncommented) code is typical. This has
    been reduced to about 6 defects per 1000 code lines at the start of system testing, where
    a collection of such modules that constitutes a real product is tested. On launching a new
    software release, the typical accepted software defect density is about one defect per 1000
    lines of code lines.
  2. Errors are typically concentrated in a few software modules – about half of the modules
    are defect free, and about 80% of the defects arise in a small fraction (about 20%) of
    the modules – and often occur when interfacing modules. The repair of errors that are
    detected prior to testing can be done rather economically. The repair cost significantly
    increases from about $ 1000 (per error repair) in unit testing to a maximum of about
    $ 12,500 when the defect is demonstrated during system operation only. It is of vital
    importance to seek techniques that find defects as early as possible in the software design
    process: the costs to repair them are substantially lower, and their influence on the rest
    of the design is less substantial.
  3. The Ariane-5 launch on June 4, 1996; it crashed 36 seconds after the launch
    due to a conversion of a 64-bit floating point into a 16-bit integer value.