The development of complex software systems, e.g., cyber-physical systems (CPSs), involves continuous evolution of both system implementations and their requirements. These two artifacts often proceed independently, creating a risk of misalignment. For example, a system may be updated due to implementation-level concerns, yielding a new version that no longer satisfies its original requirements. Traditional compliance recovery techniques, e.g., automated program repair, address this problem by modifying the system while assuming that requirements are correct. However, faulty, outdated or inadequate requirements are a well-documented challenge in practice, motivating the complementary task of requirement repair. In this paper, we propose a framework that leverages system execution data to repair misaligned CPS requirements, thereby restoring requirement-to-system compliance. Our approach evaluates the correctness of declarative requirements over time-based, real-valued signals expressed using the MATLAB Simulink Requirements Tables language. We evaluate seven variants of our framework on six real-world case studies covering 12 requirements. Results confirm the effectiveness of the proposed framework in producing correct and useful repaired requirements.
翻译:复杂软件系统(例如信息物理系统,CPSs)的开发涉及系统实现及其需求的持续演进。这两类工件往往独立演进,从而产生偏离对齐的风险。例如,因实现层面的考量对系统进行更新后,新版本可能不再满足其原始需求。传统的合规性恢复技术(如自动程序修复)通过假设需求正确并对系统进行修改来应对此问题。然而,实践中存在大量因需求错误、过时或不充分而导致的已知挑战,这激发了需求修复这一互补性任务。本文提出一个利用系统执行数据修复偏离对齐的CPS需求以恢复需求与系统一致性的框架。我们的方法基于MATLAB Simulink需求表格语言表达的时间型实值信号,评估声明式需求的正确性。我们在覆盖12条需求的6个实际案例中评估了该框架的七种变体。实验结果证实了所提框架在生成正确且有用的修复需求方面的有效性。