Is it possible to unify sequential programs?
Tatyana A. Novikova, Vladimir Anatolyevich Zakharov · EPiC series in computing · 2018
We introduce a first-order model of imperative sequential programs and set up formally the unification problem in this model: given a pair of programs π1 and π2 find a pair of substitutions (θ1,θ2) such that the instances π1θ1 and π2θ2 of these programs are equivalent, i.e. compute the same function. Since functional equivalence of programs is undecidable, we choose its decidable approximation --- a strong equivalence, --- which is well-known in theory of program schemata. Our main result is a polynomial time unification algorithm for sequential programs w.r.t. strong equivalence of programs.