Optimizing slicing of formal specifications by deductive verification

  • Authors:
  • Ingo Brückner;Björn Metzler;Heike Wehrheim

  • Affiliations:
  • Universität Oldenburg, Department für Informatik, Oldenburg, Germany;Universität Paderborn, Institut für Informatik, Paderborn, Germany;Universität Paderborn, Institut für Informatik, Paderborn, Germany

  • Venue:
  • Nordic Journal of Computing - Selected papers of the 17th nordic workshop on programming theory (NWPT'05), October 19-21, 2005
  • Year:
  • 2006

Quantified Score

Hi-index 0.00

Visualization

Abstract

Slicing is a technique for extracting parts of programs or specifications with respect to certain criteria of interest. The extraction is carried out in such a way that properties as described by the slicing criterion are preserved, i.e., they hold in the complete program if and only if they hold in the sliced program. During verification, slicing is often employed to reduce the state space of specifications to a size tractable by a model checker.The computation of specification slices relies on the construction of dependence graphs, reflecting (at least) control and data dependencies in specifications. The more dependencies the graph has, the less removal of parts is possible. In this paper we present a technique for optimizing the construction of the dependence graph by using deductive verification techniques. More precisely, we propose a technique for showing that certain control dependencies in the graph can be eliminated. The technique employs small deductive proofs of the enabledness of certain transitions. Thereby we obtain dependence graphs with less control dependencies and as a consequence smaller specification slices which are an easier target for model checking.