Identifying improvement potential in evolving product line infrastructures: 3 case studies

Thomas Patzke, Martin Becker, Michael J. Steffens, K. Sierszecki, J. Savolainen, Thomas Fogdal
{"title":"Identifying improvement potential in evolving product line infrastructures: 3 case studies","authors":"Thomas Patzke, Martin Becker, Michael J. Steffens, K. Sierszecki, J. Savolainen, Thomas Fogdal","doi":"10.1145/2362536.2362569","DOIUrl":null,"url":null,"abstract":"Successful software products evolve continuously to meet the changing stakeholder requirements. For software product lines, an additional challenge is that variabilities, characteristics that vary among products, change as well over time. That challenge must be carefully tackled during the evolution of the product line infrastructure. This is a significant problem for many software development organizations, as practical guidelines on how to evolve core assets, and especially source code, are missing.\n This paper investigates how to achieve \"good enough\" variability management during the evolution of variation in software design and implementation assets. As a first contribution, we present a customizable goal-based approach which helps to identify improvement potential in existing core assets to ease evolution. To find concrete ways to improve the product line infrastructure, we list the typical symptoms of variability \"code smells\" and show how to refine them to root causes, questions, and finally to metrics that can be extracted from large code bases.\n As a second main contribution, we show how this method was applied to evaluate the reuse quality of three industrial embedded systems. These systems are implemented in C or C++ and use Conditional Compilation as the main variability mechanism. We also introduce the analysis and refactoring tool set that was used in the case studies and discuss the lessons learnt.","PeriodicalId":339444,"journal":{"name":"Software Product Lines Conference","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2012-09-02","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"28","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Software Product Lines Conference","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/2362536.2362569","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 28

Abstract

Successful software products evolve continuously to meet the changing stakeholder requirements. For software product lines, an additional challenge is that variabilities, characteristics that vary among products, change as well over time. That challenge must be carefully tackled during the evolution of the product line infrastructure. This is a significant problem for many software development organizations, as practical guidelines on how to evolve core assets, and especially source code, are missing. This paper investigates how to achieve "good enough" variability management during the evolution of variation in software design and implementation assets. As a first contribution, we present a customizable goal-based approach which helps to identify improvement potential in existing core assets to ease evolution. To find concrete ways to improve the product line infrastructure, we list the typical symptoms of variability "code smells" and show how to refine them to root causes, questions, and finally to metrics that can be extracted from large code bases. As a second main contribution, we show how this method was applied to evaluate the reuse quality of three industrial embedded systems. These systems are implemented in C or C++ and use Conditional Compilation as the main variability mechanism. We also introduce the analysis and refactoring tool set that was used in the case studies and discuss the lessons learnt.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
识别不断发展的产品线基础设施的改进潜力:3个案例研究
成功的软件产品不断发展以满足不断变化的涉众需求。对于软件产品线,一个额外的挑战是可变性,即产品之间变化的特性,也会随着时间的推移而变化。在产品线基础设施的发展过程中,必须谨慎地处理这一挑战。对于许多软件开发组织来说,这是一个重要的问题,因为缺少关于如何发展核心资产,特别是源代码的实际指导方针。本文研究了如何在软件设计和实现资产的变化过程中实现“足够好的”可变性管理。作为第一个贡献,我们提出了一个可定制的基于目标的方法,该方法有助于识别现有核心资产的改进潜力,以简化演变。为了找到改进产品线基础结构的具体方法,我们列出了可变性“代码气味”的典型症状,并展示了如何将它们细化为根本原因、问题,以及最终可以从大型代码库中提取的度量。作为第二个主要贡献,我们展示了如何将该方法应用于评估三个工业嵌入式系统的重用质量。这些系统是用C或c++实现的,并使用条件编译作为主要的可变性机制。我们还介绍了案例研究中使用的分析和重构工具集,并讨论了从中吸取的经验教训。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Modeling Business Process Variability: Are We Done Yet? Using similarity metrics for mining variability from software repositories MPLM - MaTeLo product line manager: [relating variability modelling and model-based testing] Ten years of the arcade game maker pedagogical product line Family model mining for function block diagrams in automation software
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
已复制链接
已复制链接
快去分享给好友吧!
我知道了
×
扫码分享
扫码分享
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1