Verification of Erlang programs using abstract interpretation and model checking

被引:18
|
作者
Huch, F [1 ]
机构
[1] Rhein Westfal TH Aachen, Lehrstuhl Informat 2, D-52056 Aachen, Germany
关键词
abstract interpretation; verification; model checking; Erlang; distributed system;
D O I
10.1145/317765.317908
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
We present an approach for the verification of Erlang programs using abstract interpretation and model checking. In general model checking for temporal logics like LTL and Erlang programs is undecidable. Therefore we define a framework for abstract interpretations for a core fragment of Erlang. In this framework it is guaranteed, that the abstract operational semantics preserves all paths of the standard operational semantics. We consider properties that have to hold on all paths of a system, like properties in LTL. If these properties can be proved for the abstract operational semantics, they also hold for the Erlang program. They can be proved with model checking if the abstract operational semantics is a finite transition system. Therefore we introduce a example abstract interpretation, which has this property. We have implemented this approach as a prototype and were able to prove properties like mutual exclusion or the absence of deadlocks and lifelocks for some Erlang programs.
引用
收藏
页码:261 / 272
页数:12
相关论文
共 50 条
  • [31] ABSTRACT INTERPRETATION OF LOGIC PROGRAMS USING MAGIC TRANSFORMATIONS
    DEBRAY, S
    RAMAKRISHNAN, R
    JOURNAL OF LOGIC PROGRAMMING, 1994, 18 (02): : 149 - 176
  • [32] Combining Abstract Interpretation with Model Checking for Timing Analysis of Multicore Software
    Lv, Mingsong
    Yi, Wang
    Guan, Nan
    Yu, Ge
    31ST IEEE REAL-TIME SYSTEMS SYMPOSIUM (RTSS 2010), 2010, : 339 - 349
  • [33] SPECIALIZATION OF PROLOG AND FCP PROGRAMS USING ABSTRACT INTERPRETATION
    GALLAGHER, J
    CODISH, M
    SHAPIRO, E
    NEW GENERATION COMPUTING, 1988, 6 (2-3) : 159 - 186
  • [34] ABSTRACT INTERPRETATION OF PROLOG PROGRAMS
    MELLISH, CS
    LECTURE NOTES IN COMPUTER SCIENCE, 1986, 225 : 463 - 474
  • [35] Abstract interpretation of Prolog programs
    Spoto, F
    Levi, G
    ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY, 1999, 1548 : 455 - 470
  • [36] Verification of communication protocols using abstract interpretation of FIFO queues
    Le Gall, Tristan
    Jeannet, Bertrand
    Jeron, Thierry
    ALGEBRAIC METHODOLOGY AND SOFTWARE TECHNOLOGY, PROCEEDINGS, 2006, 4019 : 204 - 219
  • [37] A verification technique using term rewriting systems and abstract interpretation
    Takai, T
    REWRITING TECHNIQUES AND APPLICATIONS, PROCEEDINGS, 2004, 3091 : 119 - 133
  • [38] Using Fuzzing to Help Abstract Interpretation ased Program Verification
    Huang, Renjie
    Yin, Banghu
    Chen, Liqian
    2022 IEEE 22ND INTERNATIONAL CONFERENCE ON SOFTWARE QUALITY, RELIABILITY, AND SECURITY COMPANION, QRS-C, 2022, : 782 - 783
  • [39] Verification of Process Operations using Model Checking
    Voronov, Alexey
    Akesson, Knut
    2009 IEEE INTERNATIONAL CONFERENCE ON AUTOMATION SCIENCE AND ENGINEERING, 2009, : 415 - 420
  • [40] Diagnosability verification using LTL model checking
    Thiago M. Tuxi
    Lilian K. Carvalho
    Eduardo V. L. Nunes
    Antonio E. C. da Cunha
    Discrete Event Dynamic Systems, 2022, 32 : 399 - 433