Towards a Formal Approach to Modeling and Verifying the Design of Dynamic Software Updates

被引:1
|
作者
Zhang, Min [1 ]
Ogata, Kazuhiro [2 ]
Futatsugi, Kokichi [2 ]
机构
[1] East China Normal Univ, Shanghai Key Lab Trustworthy Comp, Shanghai, Peoples R China
[2] Japan Adv Inst Sci & Technol JAIST, Res Ctr Software Verificat, Nomi, Japan
关键词
D O I
10.1109/APSEC.2015.28
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Even though software systems in some domains are expected to provide continuous services, most of them must undergo some form of changes. It leads to the emergence of dynamic software updating, a technique for updating a running software system without incurring any downtime. One of the challenges of designing a correct dynamic update is to identify a set of update points where the update can be safely applied to a running system. In this paper, we present a formal approach to modeling dynamic software updates and use the formal model to identify safe update points. In our approach, we formalize dynamic updates as state machines, and verify by model checking a set of desired properties which the running system is expected to satisfy after being updated. If counterexamples are found, we exclude those states that cause the counterexamples, and do model checking again. The process is iterated until all desired properties are successfully verified. We then finally obtain a set of safe update points. A case study is also presented to demonstrate the feasibility of the proposed approach.
引用
收藏
页码:159 / 166
页数:8
相关论文
共 50 条
  • [1] Specifying and Verifying the Correctness of Dynamic Software Updates
    Hayden, Christopher M.
    Magill, Stephen
    Hicks, Michael
    Foster, Nate
    Foster, Jeffrey S.
    [J]. VERIFIED SOFTWARE: THEORIES, TOOLS, EXPERIMENTS, 2012, 7152 : 278 - +
  • [2] A Categorical Approach for Modeling and Verifying Dynamic Software Architecture
    Ling, Xiang
    [J]. 2013 IEEE 7TH INTERNATIONAL CONFERENCE ON SOFTWARE SECURITY AND RELIABILITY - COMPANION (SERE-C), 2013, : 169 - 176
  • [3] A Formal Study of Backward Compatible Dynamic Software Updates
    Shen, Jun
    Bazzi, Rida A.
    [J]. SOFTWARE ENGINEERING AND FORMAL METHODS, 2015, 9276 : 231 - 248
  • [4] A formal approach to heterogeneous software modeling
    Egyed, A
    Medvidovic, N
    [J]. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING, 2000, 1783 : 178 - 192
  • [5] Formal modeling and verifying of FMS
    Xu, G
    Wu, ZM
    [J]. ETFA 2003: IEEE CONFERENCE ON EMERGING TECHNOLOGIES AND FACTORY AUTOMATION, VOL 2, PROCEEDINGS, 2003, : 315 - 320
  • [6] Formal Modeling for Verifying SCA Dynamic Composition with Event-B
    Lahouij, Aida
    Hamel, Lazhar
    Graiet, Mohamed
    [J]. 2015 IEEE 24TH INTERNATIONAL CONFERENCE ON ENABLING TECHNOLOGIES - INFRASTRUCTURE FOR COLLABORATIVE ENTERPRISES, 2015, : 29 - 34
  • [7] A formal analysis approach for verifying the design of respiratory pacing devices
    Eichler, Chad E.
    Suresh, Vinod
    Roop, Partha S.
    [J]. 2019 IEEE INTERNATIONAL INSTRUMENTATION AND MEASUREMENT TECHNOLOGY CONFERENCE (I2MTC), 2019, : 1553 - 1557
  • [8] Toward A Unified Operational Semantics-based Approach to Modeling and Verifying Dynamic Software Updating
    Qian, Jiaqi
    [J]. PROCEEDINGS OF 2018 IEEE 9TH INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND SERVICE SCIENCE (ICSESS), 2018, : 649 - 652
  • [9] Towards a Formal Approach for Verifying Temporal Coherence in a SMIL Document Presentation
    Ghomari, Abdelghani
    Belheziel, Naceur
    Mekahlia, Fatma-Zohra
    Djeraba, Chabane
    [J]. MODEL AND DATA ENGINEERING, MEDI 2013, 2013, 8216 : 132 - 146
  • [10] KUPC: A Formal Tool for Modeling and Verifying Dynamic Updating of C Programs
    Qian, Jiaqi
    Zhang, Min
    Wang, Yi
    Ogata, Kazuhiro
    [J]. FUNDAMENTAL APPROACHES TO SOFTWARE ENGINEERING (FASE 2019), 2019, 11424 : 299 - 305