基于SMT的区域控制器同步反应式模型的形式化验证
作者:
作者简介:

李腾飞(1989-),男,博士,工程师,CCF专业会员,主要研究领域为形式化方法,工业控制系统安全;刘静(1964-),女,博士,教授,博士生导师,CCF专业会员,主要研究领域为形式化方法,高可信理论和方法;孙军峰(1971-),男,正高级工程师,主要研究领域为安全软件构造,列控系统安全保证方法;孙海英(1976-),女,博士,讲师,CCF专业会员,主要研究领域为形式化建模与验证,基于形式化的测试;吕新军(1978-),男,正高级工程师,主要研究领域为安全软件,安全系统;何积丰(1943-),男,博士,教授,博士生导师,CCF会士,主要研究领域为高可信计算,信息物理融合系统,可信人工智能;陈祥(1981-),男,高级工程师,主要研究领域为列车控制系统,模型驱动开发.

通讯作者:

孙军峰,E-mail:sunjunfeng@casco.com.cn;刘静,E-mail:jliu@sei.ecnu.edu.cn

基金项目:

国家重点研发计划(2019YFA0706404);国家自然科学基金(61972150);上海市超级博士后基金(2021146)


SMT-based Formal Verification of Synchronous Reactive Model for Zone Controller
Author:
  • 摘要
  • | |
  • 访问统计
  • |
  • 参考文献 [25]
  • |
  • 相似文献
  • |
  • 引证文献
  • | |
  • 文章评论
    摘要:

    在安全关键系统的软件开发过程中,形式化验证是一种经检验的提高软件质量的技术.然而,无论从理论上还是从应用角度来看,软件的验证都必须是完整的,数据流验证应该是对实现层软件模型进行验证的必要体现.因此,环境输入、泛型函数、高阶迭代运算和中间变量对于分析形式化验证的可用性至关重要.为了验证同步反应式模型,工程师很容易验证控制流模型(即安全状态机).现有工作表明,这类工作无法全面地验证安全关键系统的同步反应式模型,尤其是数据流模型,导致这些方法没有达到工业应用的要求,这成为对工业安全软件进行形式化验证的一个挑战.提出了一种自动化验证方法.该方法可以实现对安全状态机和数据流模型的集成进行验证.采用了一种基于程序综合的方法,其中,SCADE模型描述了功能需求、安全性质和环境输入,可以通过对Lustre模型的程序综合,采用基于SMT的模型检查器进行验证.该技术将程序合成作为一种通用原理来提高形式化验证的完整性.在轨道交通的工业级应用(近200万行Lustre代码)上评估了该方法.实验结果表明,该方法在大规模同步反应式模型长期存在的复杂验证问题上是有效的.

    Abstract:

    Formal verification is a proven technique for improving product quality during software development of safety critical systems. However, the verification must be complete, both theoretically and in the interest of practicality. Data-flow verification is a pervading manifestation of verification of the software model in implementation level. Environmental input, generic function, high-order iterative operation, and intermediate variables are therefore crucial for analyzing usability of verification approaches. To verify a synchronous reactive model, engineers readily verify the control-flow model (i.e., safe state machine). Existing work shows that these approaches fall short of complete verification of synchronous reactive model of industrial software, which results in the loss of reaching the industrial requirements. It presents a significant pain point for adopting formal verification of industrial software. Thus, it is drawn on the insight that the synchronous reactive model of safety-critical systems should be verified completely, and the data-flow models should be considered. An approach is presented for automated, generic verification that tailor to verify the integration of safe state machines and data-flow models. Furthermore, a synthesis-based approach is adopted where the SCADE models describe functional requirements, safety requirements and environmental inputs that can be verified for an SMT-based model checker through program synthesis to Lustre model. The proposed technique promotes program synthesis as a general primitive for improving the integrity of formal verification. The proposed approach is evaluated on an industrial application (nearly two million lines of Lustre code) in rail transit. It is show that the proposed approach is effective in sidestepping long-standing and complex verification issues in large scale synchronous reactive model.

    参考文献
    [1] Shi J, Shi JQ, Huang YH, et al.Scade2Nu:A tool for verifying safety requirements of SCADE models with temporal specifications.In:Joint Proc.of the 25th Int'l Conf.on Requirements Engineering:Foundation for Software Quality (REFSQ 2019).2019.1-6.
    [2] Heim S, Xavier D, Bonnafous E, et al.Model checking of SCADE designed systems.In:Proc.of the 8th European Congress on Embedded Real Time Software and Systems (ERTS 2016).2016.1-8.
    [3] Yuan ZH, Chen XH, Liu J, et al.Simplifying the formal verification of safety requirements in zone controllers through problem frames and constraint-based projection.IEEE Trans.on Intelligent Transportation Systems, 2018, 19(11):3517-3528.
    [4] Caspi P, Pilaud D, Halbwachs N, et al.LUSTRE:A declarative language for real-time programming.In:Proc.of the ACM SIGACT-SIGPLAN Symp.on Principles of Programming Languages.ACM, 1987.178-188.
    [5] Nicolas H, Paul C, Pascal R, et al.The synchronous data flow programming language LUSTRE.Proc.of the IEEE, 1991, 70(9):1305-1320.
    [6] Ran D, Chen Z, Sun Y, et al.SCADE model checking based on program transformation.Computer Science, 2021, 48(12):125-130.
    [7] Vassil T, Safouan T, Frederic B, et al.Improved invariant generation for industrial software model checking of time properties.In:Proc.of the IEEE 19th Int'l Conf.on Software Quality, Reliability and Security (QRS).IEEE, 2019.334-341.
    [8] Aniculaesei A, Vorwald A, Rausch A.Using the SCADE toolchain to generate requirements-based test cases for an adaptive cruise control system.In:Proc.of the 22nd ACM/IEEE Int'l Conf.on Model Driven Engineering Languages and Systems Companion (MODELS-C).2019.503-513.[doi:10.1109/MODELS-C.2019.00079]
    [9] Henning B, Henning G, Michaela H, et al.An open alternative for SMT-based verification of SCADE models.In:Proc.of the 19th Int'l Conf.on Formal Methods for Industrial Critical Systems (FMICS).Florence:Springer, 2014.124-139.
    [10] Zhou JM.Formal modeling and verification of SCADE model based on PVS for rail transit control system[MS.Thesis].Shanghai:East China Normal University, 2011(in Chinese with English abstract).
    [11] Bennour IE.Formal verification of timed synchronous dataflow graphs using Lustre.Journal of Logical and Algebraic Methods in Programming, 2021, 121(100678):1-24.
    [12] Henning G, Stefan M, Oliver M.On the formal verification of systems of synchronous software components.In:Proc.of the 31st Int'l Conf.on Computer Safety, Reliability, and Security (SAFECOMP 2012).Magdeburg:Springer, 2012.291-304.
    [13] Milton S, Siddhartha B, Matthew AC, et al.Formal compositional reasoning of autonomous aerial systems with complex algorithms.In:Proc.of the IEEE Int'l Systems Conf.(SysCon).IEEE, 2020.1-7.
    [14] Ferrari A, Mazzanti F, Basile D, et al.Systematic evaluation and usability analysis of formal methods tools for railway signaling system design.IEEE Trans.on Software Engineering, 2022, 48(11):4675-4691.
    [15] Liu XS, Yuan ZH, Chen XH, et al.Safety requirements modeling and automatic verification for zone controllers.Ruan Jian Xue Bao/Journal of Software, 2020, 31(5):1374-1391(in Chinese with English abstract).http://www.jos.org.cn/1000-9825/5952.htm[doi:10.13328/j.cnki.jos.005952]
    [16] Blanc B, Bandmann O, Fredholm D.2018.https://www.prover.com/https://www.prover.com/webinar/building-a-safety-case-for-rail-control-software-with-formal-verification/
    [17] Li TF, Chen XH, Sun HY, et al.Modeling and verification of spatiotemporal intelligent transportation systems.In:Proc.of the 19th IEEE Int'l Conf.on Trust, Security and Privacy in Computing and Communications (TrustCom).IEEE, 2020.568-575.
    [18] Dumitru PB, Stephen AE, Gerard B.Compiling Esterel.Springer, 2007.
    [19] Andrew G, John B, Mike W, et al.The JKind model checker.In:Proc.of the 30th Int'l Conf.on Computer Aided Verification (CAV).Springer, 2018.20-27.
    [20] EN 50126 Railway Applications.The specification and demonstration of reliability, availability, maintainability and safety (RAMS).In:Proc.of the Systems Approach to Safety.2017. 11-25.
    [21] Erwan J, Pascal R, Nicolas H.The Lustre V6 Reference Manual.Verimag Lab, 2017.https://www-verimag.imag.fr/Lustre-V6.html
    [22] Amar B, Bernard D.Formal verification for model-based development.Journal of Passenger Cars:Electronic and Electrical Systems, 2005, 114:171-181.
    [23] Martin L, Schatalov M, Hagner M, et al.A methodology for model-based development and automated verification of software for aerospace systems.In:Proc.of the IEEE Aerospace Conf.IEEE, 2013.1-19.附中文参考文献:
    [10] 周佳铭.基于PVS对SCADE开发轨交控制系统的形式化建模与验证[硕士学位论文].上海:华东师范大学, 2011.
    [15] 刘筱珊, 袁正恒, 陈小红, 等.区域控制器的安全需求建模与自动验证.软件学报, 2020, 31(5):1374-1391.http://www.jos.org.cn/1000-9825/5952.htm[doi:10.13328/j.cnki.jos.005952]
    相似文献
    引证文献
    网友评论
    网友评论
    分享到微博
    发 布
引用本文

李腾飞,孙军峰,吕新军,陈祥,刘静,孙海英,何积丰.基于SMT的区域控制器同步反应式模型的形式化验证.软件学报,2023,34(7):3080-3098

复制
分享
文章指标
  • 点击次数:
  • 下载次数:
  • HTML阅读次数:
  • 引用次数:
历史
  • 收稿日期:2022-09-04
  • 最后修改日期:2022-10-08
  • 在线发布日期: 2022-12-30
  • 出版日期: 2023-07-06
文章二维码
您是第19727118位访问者
版权所有:中国科学院软件研究所 京ICP备05046678号-3
地址:北京市海淀区中关村南四街4号,邮政编码:100190
电话:010-62562563 传真:010-62562533 Email:jos@iscas.ac.cn
技术支持:北京勤云科技发展有限公司

京公网安备 11040202500063号