{"title":"Illustrating interference in interfering versions of programs","authors":"T. Reps, T. Bricker","doi":"10.1145/72910.73347","DOIUrl":null,"url":null,"abstract":"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.","PeriodicalId":198444,"journal":{"name":"Proceedings of the 2nd International Workshop on Software configuration management","volume":"98 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"1989-10-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"40","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2nd International Workshop on Software configuration management","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/72910.73347","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 40
Abstract
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.
将一个程序的多个版本集成为一个通用版本的需求经常出现,但是手工合并程序是一项乏味且耗时的任务。S. Horwitz, J. Prins和T. Reps最近提出的程序集成算法提供了一种创建基于语义的程序集成工具的方法。集成算法基于这样一个假设,即程序变体的行为(而不是文本)中的任何变化都是重要的,并且必须保留在合并的程序中。基于该算法的集成系统将确定程序是否包含干扰变化,如果没有,将自动创建包含所有变化以及保留在所有变体中的所有特征的集成程序。在本文中,我们讨论了当检测到干扰时,集成工具如何向用户说明干扰的原因。我们的主要技术成果是对积分算法的干扰判据的另一种描述,它更适合于说明干扰的原因。然后,我们提出了六种集成系统显示信息的方法,以展示干扰用户的原因。