Making Software Product Line Evolution Safer

F. Ferreira, Paulo Borba, Gustavo Soares, Rohit Gheyi
{"title":"Making Software Product Line Evolution Safer","authors":"F. Ferreira, Paulo Borba, Gustavo Soares, Rohit Gheyi","doi":"10.1109/SBCARS.2012.18","DOIUrl":null,"url":null,"abstract":"Developers evolve software product lines (SPLs) manually or using typical program refactoring tools. However, when evolving a product line to introduce new features or to improve its design, it is important to make sure that the behavior of existing products is not affected. Typical program refactorings cannot guarantee that because the SPL context goes beyond code and other kinds of core assets, and involves additional artifacts such as feature models and configuration knowledge. Besides that, in a SPL we typically have to deal with a set of possibly alternative assets that do not constitute a well-formed program. As a result, manual changes and existing program refactoring tools may introduce behavioral changes or invalidate existing product configurations. To avoid that, we propose approaches and implement tools for making product line evolution safer; these tools check whether SPL transformations are refinements in the sense that they preserve the behavior of the original SPL products. They implement different and practical approximations of a formal definition of SPL refinement. We evaluate the approaches in concrete SPL evolution scenarios where existing product's behavior must be preserved. However, our tools found that some transformations introduced behavioral changes. Moreover, we evaluate defective refinements, and the toolset detects the behavioral changes.","PeriodicalId":229350,"journal":{"name":"2012 Sixth Brazilian Symposium on Software Components, Architectures and Reuse","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-09-23","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"12","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"2012 Sixth Brazilian Symposium on Software Components, Architectures and Reuse","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/SBCARS.2012.18","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 12

Abstract

Developers evolve software product lines (SPLs) manually or using typical program refactoring tools. However, when evolving a product line to introduce new features or to improve its design, it is important to make sure that the behavior of existing products is not affected. Typical program refactorings cannot guarantee that because the SPL context goes beyond code and other kinds of core assets, and involves additional artifacts such as feature models and configuration knowledge. Besides that, in a SPL we typically have to deal with a set of possibly alternative assets that do not constitute a well-formed program. As a result, manual changes and existing program refactoring tools may introduce behavioral changes or invalidate existing product configurations. To avoid that, we propose approaches and implement tools for making product line evolution safer; these tools check whether SPL transformations are refinements in the sense that they preserve the behavior of the original SPL products. They implement different and practical approximations of a formal definition of SPL refinement. We evaluate the approaches in concrete SPL evolution scenarios where existing product's behavior must be preserved. However, our tools found that some transformations introduced behavioral changes. Moreover, we evaluate defective refinements, and the toolset detects the behavioral changes.
使软件产品线发展更安全
开发人员手动或使用典型的程序重构工具开发软件产品线(SPLs)。然而,当发展产品线以引入新功能或改进其设计时,确保现有产品的行为不受影响是很重要的。典型的程序重构不能保证这一点,因为SPL上下文超出了代码和其他类型的核心资产,并且涉及额外的工件,例如特性模型和配置知识。除此之外,在SPL中,我们通常必须处理一组可能的替代资产,这些资产不构成格式良好的程序。因此,手工更改和现有的程序重构工具可能会引入行为更改或使现有的产品配置无效。为了避免这种情况,我们提出了方法和实施工具,使产品线的发展更安全;这些工具检查SPL转换是否在保留原始SPL产品行为的意义上是改进。它们实现了对SPL细化的正式定义的不同的实用近似。我们在必须保留现有产品行为的具体SPL进化场景中评估方法。然而,我们的工具发现一些转换引入了行为改变。此外,我们评估有缺陷的改进,工具集检测行为变化。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 求助全文
来源期刊
自引率
0.00%
发文量
0
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
确定
请完成安全验证×
copy
已复制链接
快去分享给好友吧!
我知道了
右上角分享
点击右上角分享
0
联系我们:info@booksci.cn Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。 Copyright © 2023 布克学术 All rights reserved.
京ICP备2023020795号-1
ghs 京公网安备 11010802042870号
Book学术文献互助
Book学术文献互助群
群 号:604180095
Book学术官方微信