Using algebraic specifications to find sequencing defects
Kurt M. Olender, James M. Bieman · 2002
One class of program defect results from illegal sequences of otherwise legal operations in software implementations. Expressions that specify the correct sequences can be written in the Cecil sequencing constraint language. Programs can then be checked at compile time by the Cesar analysis system. Explicit statement of sequencing constraints, however, is not a common activity when specifying software even when using formal specification methods. In this paper, we describe methods to derive constraints on program execution sequences from algebraic specifications. We provide heuristic methods for generating these constraints from the specifications and generalize the methods into automatable rules. Using these generated constraints, we can then detect sequencing defects in software before dynamic testing begins.