Analyzing Variability in 25 Years of Industrial Legacy Software: An Experience Report

Kamil Rosiak, Oliver Urbaniak, Alexander Schlie, C. Seidl, Ina Schaefer
{"title":"Analyzing Variability in 25 Years of Industrial Legacy Software: An Experience Report","authors":"Kamil Rosiak, Oliver Urbaniak, Alexander Schlie, C. Seidl, Ina Schaefer","doi":"10.1145/3307630.3342410","DOIUrl":null,"url":null,"abstract":"In certain domains, safety-critical software systems may remain operational for decades. To comply with changing requirements, new system variants are commonly created by copying and modifying existing ones. Typically denoted clone-and-own, software quality and overall maintainability are adversely affected in the long-run. With safety being pivotal, a fault in one variant may require the entire portfolio to be assessed. Thus, engineers need to maintain legacy systems dating back decades, implemented in programming languages such as Pascal. Software product lines (SPLs) can be a remedy but migrating legacy systems requires their prior analysis and comparison. For industrial software systems, this remains a challenge. In this paper, we introduce a comparison procedure and customizable metrics to allow for a fine-grained comparison of Pascal modules to the level of individual expressions. By that, we identify common parts of while also capturing different parts between modules as a basis for a transition towards anSPLs practice. Moreover, we demonstrate the feasibility of our approach using a case study with seven Pascal modules totaling 13,271 lines of code with an evolution-history of 25 years and show our procedure to be fast and precise. Furthermore, we elaborate on the case study and detail peculiarities of the Pascal modules, which are characteristic for an evolution-history of a quarter century.","PeriodicalId":424711,"journal":{"name":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","volume":"97 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2019-09-09","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"6","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 23rd International Systems and Software Product Line Conference - Volume B","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3307630.3342410","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 6

Abstract

In certain domains, safety-critical software systems may remain operational for decades. To comply with changing requirements, new system variants are commonly created by copying and modifying existing ones. Typically denoted clone-and-own, software quality and overall maintainability are adversely affected in the long-run. With safety being pivotal, a fault in one variant may require the entire portfolio to be assessed. Thus, engineers need to maintain legacy systems dating back decades, implemented in programming languages such as Pascal. Software product lines (SPLs) can be a remedy but migrating legacy systems requires their prior analysis and comparison. For industrial software systems, this remains a challenge. In this paper, we introduce a comparison procedure and customizable metrics to allow for a fine-grained comparison of Pascal modules to the level of individual expressions. By that, we identify common parts of while also capturing different parts between modules as a basis for a transition towards anSPLs practice. Moreover, we demonstrate the feasibility of our approach using a case study with seven Pascal modules totaling 13,271 lines of code with an evolution-history of 25 years and show our procedure to be fast and precise. Furthermore, we elaborate on the case study and detail peculiarities of the Pascal modules, which are characteristic for an evolution-history of a quarter century.
查看原文
分享 分享
微信好友 朋友圈 QQ好友 复制链接
本刊更多论文
分析25年工业遗留软件的可变性:一份经验报告
在某些领域,安全关键型软件系统可以运行数十年。为了满足不断变化的需求,通常通过复制和修改现有的系统变体来创建新的系统变体。在长期运行中,软件质量和整体可维护性受到不利影响。由于安全性至关重要,一个变体的故障可能需要对整个组合进行评估。因此,工程师需要维护几十年前用Pascal等编程语言实现的遗留系统。软件产品线(SPLs)可以作为一种补救措施,但是迁移遗留系统需要对它们进行事先的分析和比较。对于工业软件系统来说,这仍然是一个挑战。在本文中,我们介绍了一个比较过程和可定制的指标,以允许对Pascal模块进行细粒度的比较,以达到单个表达式的水平。通过这种方式,我们确定了的公共部分,同时也捕获了模块之间的不同部分,作为向anspl实践过渡的基础。此外,我们使用七个Pascal模块的案例研究证明了我们方法的可行性,这些模块共有13,271行代码,具有25年的进化史,并展示了我们的过程是快速和精确的。此外,我们还详细阐述了Pascal模块的案例研究和细节特点,这些模块具有四分之一世纪的进化历史。
本文章由计算机程序翻译,如有差异,请以英文原文为准。
求助全文
约1分钟内获得全文 去求助
来源期刊
自引率
0.00%
发文量
0
期刊最新文献
Enabling Efficient Automated Configuration Generation and Management Accessibility Variability Model: The UTPL MOOC Case Study symfinder: A Toolchain for the Identification and Visualization of Object-Oriented Variability Implementations Applying the QuARS Tool to Detect Variability Towards Efficient Analysis of Variation in Time and Space
×
引用
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