TL;DR: The chapter describes the means of predicting mission success on the basis of errors which occur during testing and describes the problems in categorizing software anomalies.
Abstract: Publisher Summary This chapter presents the software reliability research. Software reliability study was initiated by Advanced Information Systems subdivision of McDonnell Douglas Astronautics Company, Huntington Beach, California, to conduct research into the nature of the software reliability problem including definitions, contributing factors, and means for control. Discrepancy reports, which originated during the development of two large-scale real-time systems, form two separate primary data sources for the reliability study. A mathematical model, descriptively entitled the De-Eutrophication Process, was developed to describe the time pattern of the occurrence of discrepancies. This model has been employed to estimate the initial or residual error content in a software package as well as to estimate the time between discrepancies at any phase of its development. The chapter describes the means of predicting mission success on the basis of errors which occur during testing. Moreover, it also describes the problems in categorizing software anomalies and discusses the special area of the genesis of discrepancies during the integration of modules.
TL;DR: This paper presents an approach to writing specifications for parts of software systems sufficiently precise and complete that other pieces of software can be written to interact with the piece specified without additional information.
Abstract: This paper presents an approach to writing specifications for parts of software systems. The main goal is to provide specifications sufficiently precise and complete that other pieces of software can be written to interact with the piece specified without additional information. The secondary goal is to include in the specification no more information than necessary to meet the first goal. The technique is illustrated by means of a variety of examples from a tutorial system.
TL;DR: An overview of the goals, design, and status of this hardware/software complex, and some of the research problems raised and analytic problems solved in the course of its construction are described.
Abstract: In the Summer of 1971 a project was initiated at CMU to design the hardware and software for a multi-processor computer system using minicomputer processors (i.e., PDP-11's). This paper briefly describes an overview (only) of the goals, design, and status of this hardware/software complex, and indicates some of the research problems raised and analytic problems solved in the course of its construction.
TL;DR: Any user of a computer system is aware that current systems are unreliable because of errors in their software components.
Abstract: Any user of a computer system is aware that current systems are unreliable because of errors in their software components. While system designers and implementers recognize the need for reliable software, they have been unable to produce it. For example, operating systems such as OS/360 are released to the public with hundreds of errors still in them.
TL;DR: Process for the continuous wet-treatment of textile material under pressure on a sieve-drum device, by leading the textile material in its open-width continuously through a rotating sieve drum device filled with the heated treatment bath and operating under atmospheric excess pressure.
TL;DR: Software engineering is the application of good engineering practice to the design, implementation and final checkout of large programs.
Abstract: Most of us consider a well-engineered product to be one which is structurally sound; which communicates with its environment in a predictable, well-disciplined manner; which has been thoroughly tested; and which is reliable and easily maintained. In any engineering field, the structural philosophy, design disciplines, and checkout methods which yield such a product are called "good engineering practices." Software engineering is the application of good engineering practice to the design, implementation and final checkout of large programs. The result of effective software engineering should be:(1) The production of a correct program (certifiable)(2) The availability of means of efficiently determining the correctness of a program (certification)(3) The ability to modify a program so that recertification is possible.
TL;DR: A rationale for implementing software reliability programs is presented; software reliability is defined; some of the problems of performing software reliability analysis are described; and a methodology for reliability prediction and quality control is presented.
Abstract: The increase in importance of software in command and control and other complex systems has not been accompanied by commensurate progress in the development of analytical techniques for the measurement of software quality and the prediction of software reliability. This paper presents a rationale for implementing software reliability programs; defines software reliability; and describes some of the problems of performing software reliability analysis. A software reliability program is outlined and a methodology for reliability prediction and quality control is presented. The results of initial efforts to develop a software reliability methodology at the Naval Electronics Laboratory Center are reported.
TL;DR: The Program Testing Translator is an automatic tool designed to aid in the measurement and testing of software systems.
Abstract: The measurement process plays a vital role in the quality assurance and testing of new hardware systems. To insure the reliability of the final hardware system, each stage of development incorporates performance standards and testing procedures. The establishment of software performance criteria has been very nebulous. At first the desire to "just get it working" prevailed in most software development efforts. With the increasing complexity of new and evolving software systems, improved measurement techniques are needed to facilitate disciplined program testing beyond merely debugging. The Program Testing Translator is an automatic tool designed to aid in the measurement and testing of software systems.
TL;DR: Increasing emphasis has been placed on exhaustive testing of computer programs as the principal means of assuring sufficient quality.
Abstract: From the point of view of the user, a reliable computer program is one which performs satisfactorily according to the computer program's specifications. The ability to determine if a computer program does indeed satisfy its specifications is most often based upon accumulated experience in using the software. This is due in part to general agreement that the quality of computer software increases as the software is extensively used and failures are discovered and corrected. In keeping with this philosphy, increasing emphasis has been placed on exhaustive testing of computer programs as the principal means of assuring sufficient quality.
TL;DR: A collaborative testing methodology is emerging from the project, which aims to develop ways of supplying the scientific computing community with highly reliable subroutines.
Abstract: Argonne National Laboratory, Stanford University and The University of Texas at Austin, in cooperation with various field test sites, have carried out a collaborative effort to certify and disseminate mathematical software. This is a prototype venture whose purpose is to develop ways of supplying the scientific computing community with highly reliable subroutines. Selected software is tested, first at the three principal institutions and then at field test sites. Routines of proven quality are certified and distributed from the Argonne Code Center. A collaborative testing methodology is emerging from the project.Software selected for testing and distribution includes a collection of routines for calculating certain special functions of mathematical physics and a Fortran package of eigensystem routines based on Algol originals of Wilkinson, Reinsch, and their colleagues.
TL;DR: A tutorial introduction to the function and construction of communications software in modern teleprocessing systems is presented, which describes the construction of communication subsystems in the context of a multiprogramming and multiprocessing environment.
Abstract: A tutorial introduction to the function and construction of communications software in modern teleprocessing systems is presented, Communication functions include network control, message preprocessing and queuing, and error recovery. These functions are provided by the communication subsystem, which includes components of the supervisory system, special-purpose software, and cooperating peripheral processors. The construction of communication subsystems is described, including aspects of both software and hardware, in the context of a multiprogramming and multiprocessing environment. The application of distributed-function processing, virtual memory, and segmentation techniques to the design of these subsystems is discussed.
TL;DR: Initial attempts to develop a methodology for Naval Tactical Data System software reliability analysis are reported on and the results of several statistical analyses are presented.
Abstract: : The increase in importance of software in command and control and other complex systems requires increased attention to the problems of software reliability and quality control. The paper reports on initial attempts to develop a methodology for Naval Tactical Data System software reliability analysis and presents the results of several statistical analyses.
TL;DR: The concept that a software physics corresponding to the natural physics at the basic conceptual level exists is explored and a basic constitutive definition for the nature of software offered, and a criterion for finding certain types of conservation laws in software physics is proposed.
Abstract: The concept that a software physics corresponding to the natural physics at the basic conceptual level exists is explored and a basic constitutive definition for the nature of software offered. Using this definition, a criterion for finding certain types of conservation laws in software physics is proposed. Applying these ideas to the problems of computer performance measurements, proposed definitions for software energy, work, force and power are offered. The results of a single experiment are provided to support the hypotheses, and further experimental verification called for.
TL;DR: The most important way to improve the effectiveness of the government systems analysts and programmers is by reducing the time now spent on systems analysis, design, implementations, and maintenance while maintaining or improving the present level of ADP system quality.
Abstract: The need to improve the methods by which large software systems are constructed is becoming widely recognized. For example, in a recent study (Office of Management and Budget) to improve the effectiveness of systems analysts and programmers, a project team stated that: "The most important way to improve the effectiveness of the government systems analysts and programmers is by reducing the TIME now spent on systems analysis, design, implementations, and maintenance while maintaining or improving the present level of ADP system quality."
TL;DR: The need for a coordinated effort and the creation of a center to focus activities in this area is suggested and some observations are made on steps to be taken.
Abstract: Some observations are made on steps to be taken toward the creation of better mathematical software. These steps suggest the need for a coordinated effort and the creation of a center to focus activities in this area.
TL;DR: Some problems and solutions in the design of software for a multi‐computer system for real‐time use are described, including inter‐computer communication, computer‐aided reconfiguration, data integrity control, selective notification of amendements and the influence of debugging, testing and assembly sequence on the design approach.
Abstract: This paper describes some problems and solutions in the design of software for a multi-computer system for real-time use. Particular concepts discussed are inter-computer communication, computer-aided reconfiguration, data integrity control, selective notification of amendements and the influence of debugging, testing and assembly sequence on the design approach. The problems of designing software for given hardware and ill-defined functions are also mentioned.
TL;DR: SL230 is a simple, multiprocess, operating system used to create an environment suitable for the construction of experimental programming systems for educational and research uses.
Abstract: : The report describes the resources and data structures of SL230 (Software Laboratory 230) and the designing of SL230 modules and systems. SL230 is a simple, multiprocess, operating system used to create an environment suitable for the construction of experimental programming systems for educational and research uses. (Author)