illustrating interference in interfering versions of programs
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 determine whether the programs incorporate interfering changes, and, if they do not, will automatically create an integrated program that includes all changes as well as all features that are preserved in all variants. 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 algorithm's interference criterion that is more suitable for 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.
interference version program integrability timing task algorithm tool change systems feature paper user characterization method informal demonstrate