Design for Trustworthy Software: Tools, Techniques, and Methodology of Developing Robust Software

  • The many stages of current software development processes make it error-prone.

  • Novel application generation technologies promise to simplify software development and make its creation much less error-prone.

  • A truly precise functional specification is difficult to achieve due to the high degree of ambiguity in creative team-based human development activities.

  • If a really precise functional specification can be written, it can be automatically transformed into an error-free working program.

  • Software is robust if it can function to specification under any usage conditions.

  • Software is trustworthy if it meets its users' expectations under any reasonable conditions of use.

  • Robustness in software can be achieved by a three-stage Taguchi process: system design, parameter design, and tolerance design.

  • System design is intended to meet the functional requirements of the final end users.

  • Parameter design is intended to make the product less sensitive to exogenous ("noise") factors in its usage environment.

  • Tolerance design involves tightening tolerance in product or process parameters to reduce variability in performance.

Категории