Using Abstraction and Model Checking to Detect Safety Violations in Requirements Specifications

Abstract

Exposing inconsistencies can uncover many defects in software specifications. One approach to exposing inconsistencies analyzes two redundant specifications, one operational and the other property-based, and reports discrepancies. This paper describes a practical formal method, based on this approach and the SCR (Software Cost Reduction) tabular notation, that can expose inconsistencies in software requirements specifications. Because users of the method do not need advanced mathematical training or theorem proving skills, most software developers should be able to apply the method without extraordinary effort. This paper also describes an application of the method which exposed a safety violation in the contractor-produced software requirements specification of a sizable, safety-critical control system. Because the enormous state space of specifications of practical software usually renders direct analysis impractical, a common approach is to apply abstraction to the specification. To reduce the state space of the control system specification, two push button abstraction methods were applied, one which automatically removes irrelevant variables and a second which replaces the large, possibly infinite, type sets of certain variables with smaller type sets. Analyzing the reduced specification with the model checker Spin uncovered a possible safety violation. Simulation demonstrated that the safety violation was not spurious but an actual defect in the original specification.

Open PDF

Document Details

Document Type
Technical Report
Publication Date
Nov 01, 1998
Accession Number
ADA465502

Entities

People

  • Bruce Labaw
  • Constance Heitmeyer
  • James Kirby Jr.
  • Myla M. Archer
  • Ramesh Bharadwaj

Organizations

  • United States Naval Research Laboratory

Tags

Communities of Interest

  • Engineered Resilient Systems
  • Human Systems
  • Materials and Manufacturing Processes
  • Space
  • Weapons Technologies

DTIC Thesaurus Topics

  • Character Recognition
  • Computer Programs
  • Computers
  • Construction
  • Contractors
  • Control Panels
  • Control Systems
  • Engineering
  • Engineers
  • Jet Propulsion
  • Language
  • Real Numbers
  • Simulations
  • Simulators
  • Software Development
  • Specifications
  • Standards

Fields of Study

  • Computer science
  • Engineering

Readers

  • Applied Combinatorial Optimization and Logic Circuit Design.
  • Software Engineering.
  • Systems Analysis and Design

Technology Areas

  • Space