C. König, Kamil Rosiak, L. Linsbauer, Ina Schaefer
{"title":"同步软件变体:一种二维方法","authors":"C. König, Kamil Rosiak, L. Linsbauer, Ina Schaefer","doi":"10.1145/3503229.3547053","DOIUrl":null,"url":null,"abstract":"Code copying and customization is a common practice to realize variability and serve the demand for custom-tailored software. The clone-and-own-approach is flexible and efficient, but does not scale with the number of variants as developers must transfer changes between clones manually, which is an error-prone and tedious task. This task becomes even more challenging, when developers reuse code not only between variants, but also within variants. As a solution, we propose a novel synchronization technique that supports developers to transfer changes applied to clones to its corresponding clone instances within a variant as well as across other variants. Our technique relies on a common model of clone relationships between and within variants, that can automatically propagate changes two-dimensional into the respective intra- and inter-clone instances. In an empirical evaluation, we demonstrate the need for this two-dimensional clone synchronization and show the usefulness and scalability of our approach using the MobileMedia case study.","PeriodicalId":193319,"journal":{"name":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","volume":"35 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2022-09-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"0","resultStr":"{\"title\":\"Synchronizing software variants: a two-dimensional approach\",\"authors\":\"C. König, Kamil Rosiak, L. Linsbauer, Ina Schaefer\",\"doi\":\"10.1145/3503229.3547053\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Code copying and customization is a common practice to realize variability and serve the demand for custom-tailored software. The clone-and-own-approach is flexible and efficient, but does not scale with the number of variants as developers must transfer changes between clones manually, which is an error-prone and tedious task. This task becomes even more challenging, when developers reuse code not only between variants, but also within variants. As a solution, we propose a novel synchronization technique that supports developers to transfer changes applied to clones to its corresponding clone instances within a variant as well as across other variants. Our technique relies on a common model of clone relationships between and within variants, that can automatically propagate changes two-dimensional into the respective intra- and inter-clone instances. In an empirical evaluation, we demonstrate the need for this two-dimensional clone synchronization and show the usefulness and scalability of our approach using the MobileMedia case study.\",\"PeriodicalId\":193319,\"journal\":{\"name\":\"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B\",\"volume\":\"35 1\",\"pages\":\"0\"},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2022-09-12\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"0\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1145/3503229.3547053\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 26th ACM International Systems and Software Product Line Conference - Volume B","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3503229.3547053","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Synchronizing software variants: a two-dimensional approach
Code copying and customization is a common practice to realize variability and serve the demand for custom-tailored software. The clone-and-own-approach is flexible and efficient, but does not scale with the number of variants as developers must transfer changes between clones manually, which is an error-prone and tedious task. This task becomes even more challenging, when developers reuse code not only between variants, but also within variants. As a solution, we propose a novel synchronization technique that supports developers to transfer changes applied to clones to its corresponding clone instances within a variant as well as across other variants. Our technique relies on a common model of clone relationships between and within variants, that can automatically propagate changes two-dimensional into the respective intra- and inter-clone instances. In an empirical evaluation, we demonstrate the need for this two-dimensional clone synchronization and show the usefulness and scalability of our approach using the MobileMedia case study.