首页> 外文期刊>Science of Computer Programming >Towards evidence-based recommendations to guide the evolution of component-based product families
【24h】

Towards evidence-based recommendations to guide the evolution of component-based product families

机译:寻求基于证据的建议,以指导基于组件的产品系列的发展

获取原文
获取原文并翻译 | 示例

摘要

Many large-scale software-intensive systems are produced as instances of component-based product families, a well-known tactic to develop a portfolio of software products based on a collection of shared assets. However, sharing components between software products introduces dependencies that complicate maintenance and evolution: changes made in a component to address an issue in one product may have undesirable effects on other products in which the same component is used. Therefore, developers not only need to understand how a proposed change will impact the component and product at hand; they also need to understand how it affects the whole product family, including systems that are already deployed. Given that these systems contain thousands of components, it is no surprise that it is hard to reason about the impact of a change on a single product, let alone assess the effects of more complex evolution scenarios on a complete product family. Conventional impact analysis techniques do not suffice for large-scale software-intensive systems and highly populated product families, and software engineers need better support to conduct these tasks. Finally, for an accountable comparison of alternative evolution scenarios, a measure is needed to quantify the scale of impact for each strategy. This is especially important in our context of safety-critical systems since these need to undergo (costly) re-certification after a change. Cost-effective recommendations should prioritize evolution scenarios that minimize impact scale, and thereby minimize re-certification efforts. This paper explores how reverse engineering and program comprehension techniques can be used to develop novel recommendation technology that uses concrete evidence gathered from software artifacts to support engineers with the evolution of families of complex, safety-critical, software-intensive systems. We give an overview of the state of the art in this area, discuss some of the research directions that have been considered up to now and, identify challenges, and pose a number of research questions to advance the state of the art.
机译:许多大型软件密集型系统作为基于组件的产品系列的实例而产生,这是一种基于共享资产集合来开发软件产品组合的众所周知的策略。但是,在软件产品之间共享组件会引入使维护和发展复杂化的依赖性:为解决一个产品中的问题而对组件进行的更改可能会对使用同一组件的其他产品产生不良影响。因此,开发人员不仅需要了解建议的更改将如何影响手边的组件和产品,还需要了解其他方面的信息。他们还需要了解它如何影响整个产品系列,包括已经部署的系统。鉴于这些系统包含成千上万的组件,因此毫不奇怪就很难对变更对单个产品的影响进行推理,更不用说评估更复杂的演变场景对整个产品系列的影响了。传统的影响分析技术不足以用于大规模的软件密集型系统和人口众多的产品系列,并且软件工程师需要更好的支持来执行这些任务。最后,为了对替代发展方案进行负责任的比较,需要采取一种措施来量化每种策略的影响规模。在我们的安全关键型系统中,这尤其重要,因为这些系统需要在更改后进行(昂贵的)重新认证。具有成本效益的建议应优先考虑可最大程度地减少影响范围,从而最大程度地减少重新认证工作的演变方案。本文探讨了如何使用逆向工程和程序理解技术来开发新颖的推荐技术,该技术使用从软件工件中收集的具体证据来支持工程师,以应对复杂,安全性高,软件密集型系统系列的演变。我们概述了该领域的技术水平,讨论了迄今为止已经考虑的一些研究方向,并确定了挑战,并提出了许多研究问题以促进技术水平的发展。

著录项

相似文献

  • 外文文献
  • 中文文献
  • 专利
获取原文

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号