Purpose: This tutorial will give students the knowledge and tools necessary to analyze the stability of the development and maintenance process in their organizations for the purpose of assessing whether the process can produce reliable software products and systems. Practitioner software engineers and managers will benefit from this tutorial by learning how to make product reliability and complexity measurements and predictions to assess the risk of deploying software. They will also learn how these measurements and predictions can be used to assess the stability of the process that develops and maintains the product. Also to be discussed are size and complexity metrics that serve as indicators of the functionality of the software and the difficulty of developing and maintaining the software. This tutorial shows how to use remaining failures, maximum failures, total test time required to attain a given fraction of remaining failures, time to next failure, size, and complexity to reduce the risk of deploying software. These metrics also provide confidence that the software has achieved safety goals. An extensive collection of reliability, test, effort, and metrics data from the NASA Space Shuttle is used as an example application.
Prerequisites: Practitioner and research software engineers and managers who are experienced maintainers or developers but who are inexperienced in applying metrics to evaluating product reliability and complexity and development and maintenance processes.
Presenter: Norman F. Schneidewind, Division of Computer and Information Sciences and Operations, Naval Postgraduate School
Dr. Norman F. Schneidewind is Professor of Information Sciences and Director of the Software Metrics Research Center at the Naval Postgraduate School, where he teaches and performs research in software engineering and computer networks. Dr. Schneidewind is a Fellow of the IEEE, elected for "contributions to software measurement models in reliability and metrics, and for leadership in advancing the field of software maintenance". He is the developer of the Schneidewind software reliability model that is used by NASA to assist in the prediction of software reliability of the Space Shuttle, by the Naval Surface Warfare Center for Trident software reliability prediction, and by the Marine Corps Tactical Systems Support Activity for distributed system software reliability assessment and prediction. This model is one of the models recommended by the American National Standards Institute and the American Institute of Aeronautics and Astronautics Recommended Practice for Software Reliability. In addition, the model is implemented in the Statistical Modeling and Estimation of Reliability Functions for Software (SMERFS), software reliability-modeling tool. He has received two awards for outstanding research achievements by the Naval Postgraduate School.