A Case Study in Formal Verification Using Multiple Explicit Heaps

被引:0
|
作者
Mostowski, Wojciech [1 ]
机构
[1] Univ Twente, Formal Methods & Tools, Enschede, Netherlands
基金
欧洲研究理事会;
关键词
DYNAMIC FRAMES; !text type='JAVA']JAVA[!/text; CARD;
D O I
暂无
中图分类号
TP301 [理论、方法];
学科分类号
081202 ;
摘要
In the context of the KeY program verifier and the associated Dynamic Logic for Java we discuss the first instance of applying a generalised approach to the treatment of memory heaps in verification. Namely, we allow verified programs to simultaneously modify several different, but possibly location sharing, heaps. In this paper we detail this approach using the Java Card atomic transactions mechanism, the modelling of which requires two heaps to be considered simultaneously - the basic and the transaction backup heap. Other scenarios where multiple heaps emerge are verification of real-time Java programs, verification of distributed systems, modelling of multi-core systems, or modelling of permissions in concurrent reasoning that we currently investigate for KeY. On the implementation side, we modified the KeY verifier to provide a general framework for dealing with multiple heaps, and we used that framework to implement the formalisation of Java Card atomic transactions. Commonly, a formal specification language, such as JML, hides the notion of the heap from the user. In our approach the heap becomes a first class parameter (yet transparent in the default verification scenarios) also on the level of specifications.
引用
收藏
页码:20 / 34
页数:15
相关论文
共 50 条
  • [1] Formal verification of hybrid systems using CheckMate:: A case study
    Silva, BI
    Krogh, BH
    PROCEEDINGS OF THE 2000 AMERICAN CONTROL CONFERENCE, VOLS 1-6, 2000, : 1679 - 1683
  • [2] Formal verification of FIRE: A case study
    Jang, JY
    Qadeer, S
    Kaufmann, M
    Pixley, C
    DESIGN AUTOMATION CONFERENCE - PROCEEDINGS 1997, 1997, : 173 - 177
  • [3] Formal verification of requirements using SPIN: A case study on web services
    Kazhamiakin, R
    Pistore, M
    Roveri, M
    PROCEEDINGS OF THE SECOND INTERNATIONAL CONFERENCE ON SOFTWARE ENGINEERING AND FORMAL METHODS, 2004, : 406 - 415
  • [4] Explicit-Symbolic Modelling for Formal Verification
    Costa, Umberto
    Campos, Sergio
    Vieira, Newton
    Deharbe, David
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2005, 130 : 301 - 321
  • [5] Formal verification of control software: A case study
    Griesmayer, A
    Bloem, R
    Hautzendorfer, M
    Wotawa, F
    INNOVATIONS IN APPLIED ARTIFICIAL INTELLIGENCE, 2005, 3533 : 783 - 788
  • [6] Formal Verification of Usage Control Models: A Case Study of UseCON Using TLA
    Gouglidis, Antonios
    Grompanopoulos, Christos
    Mavridou, Anastasia
    ELECTRONIC PROCEEDINGS IN THEORETICAL COMPUTER SCIENCE, 2018, (272): : 52 - 64
  • [7] Lightweight Formal Verification in Real World, A Case Study
    Atzeni, Andrea
    Su, Tao
    Montanaro, Teodoro
    ADVANCED INFORMATION SYSTEMS ENGINEERING WORKSHOPS, 2014, 178 : 335 - 342
  • [8] Formal Verification of Health Assessment Tools: a Case Study
    Bezerra, Jonas Santos
    Costa, Andrei
    Ribeiro, Leila
    Cota, Erika
    ELECTRONIC NOTES IN THEORETICAL COMPUTER SCIENCE, 2016, 324 : 31 - 47
  • [9] A case study: Formal verification of processor critical properties
    Zarpas, E
    CORRECT HARDWARE DESIGN AND VERIFICATION METHODS, PROCEEDINGS, 2005, 3725 : 406 - 409
  • [10] Using formal verification analysis methods on the critical path in system design: A case study
    Eiriksson, AT
    McMillan, KL
    COMPUTER AIDED VERIFICATION, 1995, 939 : 367 - 380