Software-intensive systems constantly evolve. To prevent software changes from unintentionally introducing costly system defects, it is important to understand their impact to reduce risk. However, it is in practice nearly impossible to foresee the full impact of software changes when dealing with huge industrial systems with many configurations and usage scenarios. To assist developers with change impact analysis we introduce a novel multi-level methodology for behavioral comparison of software-intensive systems. Our fully automated methodology is based on comparing state machine models of software behavior. We combine existing complementary comparison methods into a novel approach, guiding users step by step though relevant differences by gradually zooming into more and more detail. We empirically evaluate our work through a qualitative exploratory field study, showing its practical value using multiple case studies at ASML, a leading company in developing lithography systems. Our method shows great potential for preventing regressions in system behavior for software changes.
翻译:软件密集型系统不断演变。为了防止软件变化无意中引入昂贵系统缺陷,必须理解其影响以降低风险。然而,在实际中,几乎不可能预见软件变化在涉及具有多种配置和使用设想的大型工业系统时产生的全面影响。为了协助开发者进行变化影响分析,我们为软件密集型系统的行为比较引入了一种新的多层次方法。我们完全自动化的方法基于比较软件行为的国家机器模型。我们将现有的互补比较方法整合为一种新颖的方法,通过逐步缩放到更多的细节,通过相关差异,逐步指导用户。我们通过定性探索实地研究,实证地评估了我们的工作,展示了它的实际价值,同时利用在ASML的多个案例研究,这是开发岩层系统的主要公司。我们的方法在防止软件变化的系统行为回归方面显示出巨大的潜力。