Illustrating Interference in Interfering Versions of Programs - Reps, Thomas; Bricker, Thomas (University of Wisconsin-Madison Department of Computer Sciences, 1989)
The need to integrate several versions of a program into a common one arises frequently, but it is a tedious and time consuming task to merge programs by hand. The program-integration algorithm recently proposed by S. Horwitz, J. Prins, and T. Reps provides a way to create a semantics-based tool for program integration. The integration algorithm is based on the assumption that any change in the behavior, rather than the text, of a program variant is significant and must be preserved in the merged program. An integration system based on this algorithm will either automatically combine several different but related variants of a base program, or else determine that the programs incorporate interfering changes. In this paper we discuss how an integration tool can illustrate the causes of interference to the user when interference is detected. Our main technical result is an alternative characterization of the integration algorithms interference criterion that is more suitable to illustrating the causes of interference. We then propose six methods for an integration system to display information to demonstrate the causes of interference to the user.