The Identification of Software Failure Regions

Abstract

In these days of spiralling software costs and the proliferation of computers, software testing during development is now recognized as a critical aspect of the software engineering process, an aspect that must be improved in terms of cost and timeliness. This thesis describes one method that may guide software testing by analyzing the regions of input associated with each fault as it is detected. These software failure regions are defined and a method of failure region analysis is described in detail. The thesis describes how this analysis may be used to detect non-obviously redundant test cases. A preliminary examination of the manual analysis method is performed with a set of programs from a prior reliability experiment. Based on faults discovered during the previous experiment, this thesis defines the reachability conditions, the error generation conditions, and the conditions in which an error is not masked by later processing. The manual analysis of failure regions can be a difficult process, with difficulty dependent on program size, program complexity, and the size of the input data space. Program constructs and events that simplify the analysis process are also described. The thesis explains variable communication and the effects of vertical and horizontal contamination. The thesis also describes the indirect benefits of performing failure region analysis. Finally, there are several open questions raised by this research, and these questions are presented as ideas for future research.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Jun 01, 1990
Accession Number
ADA223058

Entities

People

  • John M. Bolchoz

Organizations

  • Naval Postgraduate School

Tags

Communities of Interest

  • Engineered Resilient Systems
  • Materials and Manufacturing Processes

DTIC Thesaurus Topics

  • Computer Program Reliability
  • Computer Programming
  • Computer Programs
  • Computer Science
  • Computers
  • Department Of Defense
  • Engineering
  • Identification
  • Operating Systems
  • Reliability
  • Software Development
  • Software Development Tools
  • Software Testing
  • Test And Evaluation
  • Test Methods

Fields of Study

  • Computer science
  • Engineering

Readers

  • Regression Analysis.
  • Software Engineering.
  • Systems Analysis and Design

Technology Areas

  • Space