Automatic verification of requirements implementation

  • Authors:
  • Marsha Chechik;John Gannon

  • Affiliations:
  • Univ. of Maryland, College Park;Univ. of Maryland, College Park

  • Venue:
  • ISSTA '94 Proceedings of the 1994 ACM SIGSOFT international symposium on Software testing and analysis
  • Year:
  • 1994

Quantified Score

Hi-index 0.01

Visualization

Abstract

Requirements of event-based systems can be automatically analyzed to determine if certain safety properties hold. However, we lack comparable methods to verify that implementations maintain the properties guaranteed by the requirements. We have built a tool that compares implementations written in C with their requirements. Requirements describe events which cause state transitions. Implementations are annotated to describe changes in the values of their requirement's variables, and dataflow analysis techniques are used to determine the set of events which cause particular state changes. To show that an implementation is consistent with its requirements, we show that each event causing a change of state in the implementation appears in the requirements, and that all the events specified to cause state changes in the requirements appear in the implementation. The annotation language encourages programmers to describe local program behaviors. These behaviors are collected into system-level behaviors, which are compared to those in the requirements. Since our analysis is not based on program code, annotations can describe behaviors at any level of granularity. We illustrate the use of our tool with several different annotations of a temperature-control system.