Symbolic Evaluation Using Conceptual Representations for Programs with Side-Effects
Symbolic evaluation is a process which abstractly evaluates an program on abstract data. A formalism based on conceptual representations is proposed as a specification language for programs with side-effects. Relations between algebraic specifications and specifications based on conceptual representations are discussed and limitations of the current algebraic specification techniques are pointed out. Symbolic evaluation is carried out with explicit use of a notion of situations. Uses of situational tags in assertions make it possible to state relations about properties of objects in different situations. The proposed formalism can deal with problems of side-effects which have been beyond the scope of Floyd-Hoare proof rules and give a solution to McCarthy's frame problem.