State Isomorphism in Model Programs with Abstract Data Structures

  • Authors:
  • Margus Veanes;Juhan Ernits;Colin Campbell

  • Affiliations:
  • Microsoft Research, Redmond, WA, USA;Inst. of Cybernetics / Dept. of Comp. Sci., Tallinn University of Technology, Tallinn, Estonia;Modeled Computation LLC, Seattle, WA, USA

  • Venue:
  • FORTE '07 Proceedings of the 27th IFIP WG 6.1 international conference on Formal Techniques for Networked and Distributed Systems
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modeling software features with model programs in C# is a way of formalizing software requirements that lends itself to automated analysis such as model-based testing. Unordered structures like sets and maps provide a useful abstract view of system state within a model program and greatly reduce the number of states that must be considered during analysis. Similarly, a technique called linearization reduces the number of states that must be considered by identifying isomorphic states, or states that are identical except for reserve element choice (such as the choice of object IDs for instances of classes). Unfortunately, linearization does not work on unordered structures such as sets. The problem turns into graph isomorphism, for which no polynomial time solution is known. In this paper we discuss the issue of state isomorphism in the presence of unordered structures and give a practical approach that overcomes some of the algorithmic limitations.