Extending FLAVERS to Check Properties on Infinite Executions of Concurrent Software Systems

  • Authors:
  • G. Naumovich;L. A. Clarke

  • Affiliations:
  • -;-

  • Venue:
  • Extending FLAVERS to Check Properties on Infinite Executions of Concurrent Software Systems
  • Year:
  • 2000

Quantified Score

Hi-index 0.00

Visualization

Abstract

FLAVERS is a finite state verification (FSV) approach that uses data flow analysis techniques to verify user-specified properties of sequential and concurrent software systems. To date, FLAVERS has been restricted to considering programs with only finite executions. In this paper we propose extensions to the FLAVERS analysis algorithm that allow FLAVERS to check both safety and liveness properties on software systems with infinite executions. Enabling FLAVERS to check safety properties on infinite executions involves a modification of the property representation and a small modification of the analysis algorithm. To check liveness properties, we use Tarjan''s algorithm for computing strongly connected components in the representation of the analysis problem produced by the FLAVERS data flow algorithm. Although this general approach is similar to the one used by several other FSV techniques, the way in which it is used in the FLAVERS framework provides several important benefits: (1) the ability to deal with systems written in actual programming languages and to perform incremental improvements of analysis precision is retained; (2) language- and application-specific fairness conditions can be easily constructed; and (3) information about whether loops may be infinite or not is used to improve precision of the analysis.