Lecture Notes for CS 325

Cleanroom Development, 15 March 2000


  1. the engineering metaphor for software engineering

  2. hardware fabrication cleanrooms

    1. strictly controlled environments

    2. prevent fabrication errors

  3. software cleanrooms - software development process and management techniques

    1. close control over software development

    2. emphasis on defect prevention

    3. certifying the results

  4. principles

    1. emphasis on defect prevention and early detection

    2. mathematically sound software development

    3. statistically valid testing results

  5. approaches

    1. incremental and iterative development under statistical quality control

      1. requirements for each increment

      2. box structure spec - like architectural design

      3. formal design - like logical design

      4. correctness verification

      5. code inspection

      6. statistical use testing

      7. certification

    2. programs as functions - box structure method with verification

      1. like structure charts, except purely functional

      2. black boxes - behavioral, specification

      3. state boxes - transformational, architectural

      4. clear boxes - operational, implementation

    3. statistically controlled testing for reliability and confidence

      1. use-case distributions derived from expected uses

      2. test-case generation based on use-case distributions

      3. measurements establishing mean-time-to-failure and other statistical measures of reliability

      4. certification based statistical measures

      5. sampling, component, and certification models

  6. characteristics

    1. team-based development

      1. six to eight person teams

      2. specification, development, and verification subgroups.

      3. group (design, validation) and individual (development) tasks

      4. parallel development

      5. larger projects broken up into flat, incremental subprojects

    2. front-end loaded scheduling

      1. emphasis on design and implementation

      2. in theory, less time needed for testing

  7. examples

    1. ericsson os development - 70% productivity improvement, 100% testing productivity improvement

    2. usaf command infrastructure - 30-40$/loc vs. 130$/loc

    3. picatinny - 4.2:1 productivity increase, 20:1 roi

  8. problems

    1. sophisticated - verification and statistical mathematics

    2. different from other s.e. processes, although it can accommodate them

    3. counter to current thinking - verification vs. testing


This page last modified on 31 March 2000.