Modification Algebras

Given a program base and two of its variants a and b, the problem of program integration is to determine whether the modifications made to base to produce a and b have undesirable semantic interactions, and if there is no such interference, to produce a merged program that incorporates the modifications made in developing either of the variants. Program-modifications can be formalized as functions from the set of programs to itself. This paper develops an algebra of program-modifications, and uses it to establish various results concerning the problem of program-integration and some variants of the problem.